VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 916|回复: 3

请高手赐教,学习treeview和listview

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-11 14:00:01 | 显示全部楼层 |阅读模式
各位高手请教。本人是新手。我想用treeview和listview来显示数据库中的数据。请高手指点。界面左边是treeview,右边是listview。treeview支持鼠标右键的操作,如"增加","删除"等。点击treeview中的子项,listview中显示相应的具体内容。
  请高手能否给出一个详细的code。小弟不胜感激!
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-23 17:45:02 | 显示全部楼层
顶!
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-23 18:00:01 | 显示全部楼层
up
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-23 18:30:01 | 显示全部楼层
这个可以吗?

TreeView 使用方法

Private Sub TreeView1_AfterCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterCheck
        If e.Node.Checked = True Then
            '处理父节点
            If Not e.Node.Parent Is Nothing Then
                e.Node.Parent.Checked = e.Node.Checked
            End If
        Else
            '处理子节点
            For Each Node As TreeNode In e.Node.Nodes
                If Not Node Is Nothing Then
                    Node.Checked = e.Node.Checked
                End If
            Next
        End If
        TreeView1.ExpandAll()
    End Sub



读取treeview的值
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i As Integer
        For i = 0 To TreeView1.Nodes.Count - 1
            RichTextBox1.Text = RichTextBox1.Text + TreeView1.Nodes(i).Text + Chr(13)
            RichTextBox1.Text = RichTextBox1.Text + GetChildText(TreeView1.Nodes(i)) + Chr(13)
            RichTextBox1.Text = RichTextBox1.Text + Chr(13)
        Next i
    End Sub

    Private Function GetChildText(ByVal node As TreeNode) As String
        Dim sb As New System.Text.StringBuilder()
        Dim child As TreeNode
        For Each child In node.Nodes
            sb.Append(child.Text)            sb.Append(Chr(9)).Append(child.Level).Append(Chr(9)).Append(child.FullPath.ToString).Append(Chr(9)).Append(Chr(13))
            sb.Append(GetChildText(child))
        Next child
        Return sb.ToString()
End Function


添加数据到treeview
  Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim SqlAdp1 As SqlDataAdapter

        Dim SqlCommString As String

        SqlCommString = "select * from sSystemMenu "

        SqlAdp1 = New SqlDataAdapter(SqlCommString, ConnectionString)

        Dim Dataset1 As New DataSet

        SqlAdp1.Fill(Dataset1, "sSystemMenu")


        TreeView1.Nodes.Clear()

        CreateTreeNode(TreeView1.Nodes, "0\", Dataset1.Tables(0))

        TreeView1.ExpandAll()
    End Sub

    Private Sub CreateTreeNode(ByVal nodes As TreeNodeCollection, ByVal parentid As String, ByVal dt As DataTable)
        Dim tmp As String = "[MenuParentCode]='" & parentid & "'"
        Dim rows() As DataRow = dt.Select(tmp)
        If rows.Length > 0 Then
            For i As Integer = 0 To rows.Length - 1
                Dim node As New System.Windows.Forms.TreeNode
                node.Tag = rows(i)
                node.Text = Trim(rows(i).Item("Name")) + " [" + Trim(rows(i).Item("MenuCode")) + "]"
                node.SelectedImageIndex = rows(i).Item("SelectPic")
                node.ImageIndex = rows(i).Item("Pic")
                node.Tag = Trim(rows(i).Item("MenuCode"))
                nodes.Add(node)
                CreateTreeNode(node.Nodes, rows(i).Item("MenuPathCode"), dt) '递归调用
            Next
        End If
    End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表