今天刚学怎么用treeview 遇到问题了
我想实现以下功能:点击winform左侧treeview 的一个节点,在winform的右侧的datagrid中显示相应数据 
是该用tag吧 可我不知道怎么用,帮忙啊 只有这么点分了。两天分都问光光

解决方案 »

  1.   

    下面是我在看MSDN而知道的,自己做了一个类似事件日志查看器的东西.
    (1)首先,需要由TreeNode派生一个自己的类,这样每个节点就可以包含自己的数据了.
    (2.1)在TreeView的SelectChange事件中获取节点对应的数据,然后绑定到DataGrid中.
    (2.2)也可以一开始就获取所有的数据,初始化一个DataView并绑定到DataGrid,然后在TreeTreeView的SelectChange事件中修改DataView的RowFilter属性来打开显示不同数据的目的.
      

  2.   

    我是这么干的,首先,连接到数据库并返回一个DataSet 将treeview绑定到一行数据
    for (int i = 0; i < dataset.Tables["table1"].Rows.count; i++)
                {
                    treeView1.Nodes.Add(dataset.Tables["table1"].Rows[i][1]);
                }
    treeview的AfterSelect事件
     private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
    object queey=treeView1.SelectedNode.ToString();
        queey = table.Compute("Sum(Field1)", "ID>3");
               
            }
      

  3.   

    Public Class MyNode
        Inherits TreeNode
        
        Private _Id As Integer    Public Sub New(Id As Integer,Text)
            MyBase.New()
            _Id=Id
            Me.Text=Text
        End Class    Public Readonly Property Id as Integer
            Get
                Return _Id
            End Get    
        End Property
    End Class
    添加树节点
    dim dt as datatable='获取数据
    For Each dr as DataRow in dt.Rows
        TreeView1.Nodes.Add(New MyNode(dr("Id"),dr("Name"))
    Next
    选中节点操作
    If TreeView1.SelectNode=Nothing Then Return
    dim Nd as MyNode=Ctype(treeview1.SelectNode,MyNode)
    然后使用Nd.Id来查询数据并绑定你的DataGrid如果还想加其它东东,那就自己在MyNode中加上就行了。