Treeview绑定SQL数据库

 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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值