Treeview绑定SQL数据库
2007-07-24 11:52
267 查看
Treeview绑定SQL数据库
一个表:purtree,一条存储bind_purtree(select * from purtree)
pur设计表
总的后台代码如下:我也没删除其它的了!
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.UI.WebControls
Imports data
Partial Class purindex
Inherits System.Web.UI.Page
Dim mysql As data = New data()
Dim a1 As ArrayList = New ArrayList()
Dim dts As DataSet
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Public Function gettreetable() As DataTable
Dim ds As New DataSet
ds = mysql.binddata("bind_purtree", a1)
Dim dt As New DataTable()
dt = ds.Tables(0)
Return dt
End Function
Public Sub populatenodes(ByVal nodes As TreeNodeCollection, Optional ByVal intparentid As Int32 = 0)
Dim dt As New DataTable()
dt = gettreetable()
Dim strexpression As String
strexpression = "[parentid] = " & intparentid
Dim foundrows() As DataRow
foundrows = dt.Select(strexpression)
Dim i As Integer
For i = 0 To foundrows.GetUpperBound(0)
Dim tn As New TreeNode()
tn.Text = foundrows(i).Item("treename").ToString() & "(" & getcount(foundrows(i).Item("treeid").ToString()) & "家)"
tn.Value = foundrows(i).Item("treeid").ToString()
Dim dr() As DataRow
dr = dt.Select("[parentid] = " & tn.Value)
If dr.GetUpperBound(0) > -1 Then
tn.PopulateOnDemand = True
End If
nodes.Add(tn)
Next
End Sub
Protected Sub treeview1_treenodepopulate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles TreeView1.TreeNodePopulate
populatenodes(e.Node.ChildNodes, e.Node.Value)
End Sub
'树节点更换
Sub node_change(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim treeid As String = TreeView1.SelectedNode.Value
a1.Add(mysql.getparam("@treeid", SqlDbType.Int, treeid))
dts = New DataSet
dts = mysql.binddata("bind_pur_searchid", a1)
ViewState("dts") = dts
bindgridview()
End Sub
Sub bindgridview()
Dim dv As DataView = ViewState("dts").Tables(0).DefaultView
GridView1.DataSource = dv
dv.Sort = SortField
If Not SortAscending Then
dv.Sort += " DESC"
End If
GridView1.DataBind()
ShowStats()
End Sub
'绑定初始化数据
Sub binddata()
dts = New DataSet
dts = mysql.binddata("bind_pur", a1)
ViewState("dts") = dts
End Sub
'获取厂商数量
Public Function getcount(ByVal searchid As String) As Integer
Dim connectionstring As String = System.Configuration.ConfigurationManager.AppSettings("connectionstring")
Dim cn As SqlConnection = New SqlConnection(connectionstring)
cn.Open()
Dim cm As New SqlCommand
cm.CommandText = "select dbo.get_pur_count(@searchid)"
cm.Connection = cn
cm.Parameters.Add(New SqlParameter("@searchid", SqlDbType.VarChar, 50)).Value = searchid
Dim typecount As Integer = cm.ExecuteScalar
Return typecount
End Function
'添加树节点
Protected Sub addnodebt_click(ByVal sender As Object, ByVal e As System.EventArgs)
If TreeView1.SelectedValue = "" Then
Response.Write("<script>javascript:window.alert('请选择要添加子节点的父节点!!!');</script>")
Return
Else
Dim treeid As Integer = Int32.Parse(TreeView1.SelectedNode.Value)
Dim url As String = "purnode.aspx?treeid=" & treeid
Response.Write("<script>javascript:window.open( '" + url + "');</script>")
End If
End Sub
'删除树节点
Protected Sub delnodebt_click(ByVal sender As Object, ByVal e As System.EventArgs)
If TreeView1.SelectedValue = "" Then
Response.Write("<script>javascript:window.alert('请选择要删除的节点!!!');</script>")
Return
Else
a1 = New ArrayList
a1.Add(mysql.getparam("@treeid", SqlDbType.Int, Int32.Parse(TreeView1.SelectedNode.Value)))
mysql.executenon("purtree_delete", a1)
Response.Redirect("purindex.aspx")
End If
End Sub
End Class
一个表:purtree,一条存储bind_purtree(select * from purtree)
pur设计表
总的后台代码如下:我也没删除其它的了!
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.UI.WebControls
Imports data
Partial Class purindex
Inherits System.Web.UI.Page
Dim mysql As data = New data()
Dim a1 As ArrayList = New ArrayList()
Dim dts As DataSet
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Public Function gettreetable() As DataTable
Dim ds As New DataSet
ds = mysql.binddata("bind_purtree", a1)
Dim dt As New DataTable()
dt = ds.Tables(0)
Return dt
End Function
Public Sub populatenodes(ByVal nodes As TreeNodeCollection, Optional ByVal intparentid As Int32 = 0)
Dim dt As New DataTable()
dt = gettreetable()
Dim strexpression As String
strexpression = "[parentid] = " & intparentid
Dim foundrows() As DataRow
foundrows = dt.Select(strexpression)
Dim i As Integer
For i = 0 To foundrows.GetUpperBound(0)
Dim tn As New TreeNode()
tn.Text = foundrows(i).Item("treename").ToString() & "(" & getcount(foundrows(i).Item("treeid").ToString()) & "家)"
tn.Value = foundrows(i).Item("treeid").ToString()
Dim dr() As DataRow
dr = dt.Select("[parentid] = " & tn.Value)
If dr.GetUpperBound(0) > -1 Then
tn.PopulateOnDemand = True
End If
nodes.Add(tn)
Next
End Sub
Protected Sub treeview1_treenodepopulate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles TreeView1.TreeNodePopulate
populatenodes(e.Node.ChildNodes, e.Node.Value)
End Sub
'树节点更换
Sub node_change(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim treeid As String = TreeView1.SelectedNode.Value
a1.Add(mysql.getparam("@treeid", SqlDbType.Int, treeid))
dts = New DataSet
dts = mysql.binddata("bind_pur_searchid", a1)
ViewState("dts") = dts
bindgridview()
End Sub
Sub bindgridview()
Dim dv As DataView = ViewState("dts").Tables(0).DefaultView
GridView1.DataSource = dv
dv.Sort = SortField
If Not SortAscending Then
dv.Sort += " DESC"
End If
GridView1.DataBind()
ShowStats()
End Sub
'绑定初始化数据
Sub binddata()
dts = New DataSet
dts = mysql.binddata("bind_pur", a1)
ViewState("dts") = dts
End Sub
'获取厂商数量
Public Function getcount(ByVal searchid As String) As Integer
Dim connectionstring As String = System.Configuration.ConfigurationManager.AppSettings("connectionstring")
Dim cn As SqlConnection = New SqlConnection(connectionstring)
cn.Open()
Dim cm As New SqlCommand
cm.CommandText = "select dbo.get_pur_count(@searchid)"
cm.Connection = cn
cm.Parameters.Add(New SqlParameter("@searchid", SqlDbType.VarChar, 50)).Value = searchid
Dim typecount As Integer = cm.ExecuteScalar
Return typecount
End Function
'添加树节点
Protected Sub addnodebt_click(ByVal sender As Object, ByVal e As System.EventArgs)
If TreeView1.SelectedValue = "" Then
Response.Write("<script>javascript:window.alert('请选择要添加子节点的父节点!!!');</script>")
Return
Else
Dim treeid As Integer = Int32.Parse(TreeView1.SelectedNode.Value)
Dim url As String = "purnode.aspx?treeid=" & treeid
Response.Write("<script>javascript:window.open( '" + url + "');</script>")
End If
End Sub
'删除树节点
Protected Sub delnodebt_click(ByVal sender As Object, ByVal e As System.EventArgs)
If TreeView1.SelectedValue = "" Then
Response.Write("<script>javascript:window.alert('请选择要删除的节点!!!');</script>")
Return
Else
a1 = New ArrayList
a1.Add(mysql.getparam("@treeid", SqlDbType.Int, Int32.Parse(TreeView1.SelectedNode.Value)))
mysql.executenon("purtree_delete", a1)
Response.Redirect("purindex.aspx")
End If
End Sub
End Class
相关文章推荐
- 【原创】SQL数据库数据绑定到TreeView菜单目录的类方法实现
- TreeView绑定SQL数据库(关键代码)
- 用递归无限级绑定 treeview,DropDownList
- treeview非xml数据源绑定
- c#的treeview绑定和获取值的方法
- TreeView无限极分类绑定(从数据库读取数据源)
- TreeView树型菜单添加,修改,删除,绑定DropDownList功能
- .net里TreeView怎么绑定?
- TreeView递归法绑定树控件
- TreeView 绑定数据库应用
- ASP.NET 递归将分类绑定到 TreeView
- wpf之TreeView绑定
- datagridview,listView,treeViewd的数据绑定
- C# 回顾简单XML动态递归绑定TreeView
- treeview 简单绑定
- vs2005控件TreeView的绑定
- TreeView绑定数据库
- ASP.NET 读数据库绑定到 TreeView 递归方式
- asp.net 绑定TreeView
- 数据库绑定treeview(用到递归)