您的位置:首页 > 数据库

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: