我是这么干的,首先,连接到数据库并返回一个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");
}
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中加上就行了。
(1)首先,需要由TreeNode派生一个自己的类,这样每个节点就可以包含自己的数据了.
(2.1)在TreeView的SelectChange事件中获取节点对应的数据,然后绑定到DataGrid中.
(2.2)也可以一开始就获取所有的数据,初始化一个DataView并绑定到DataGrid,然后在TreeTreeView的SelectChange事件中修改DataView的RowFilter属性来打开显示不同数据的目的.
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");
}
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中加上就行了。