利用TreeView的TAG属性实现ADO.NET下的多表查询
2007-08-07 15:21
369 查看
TreeView无法绑定DATASET,所以在设计TreeView时要采用代码来实现树形列表的显示。如果要查询时则会根据TEXT属性的值来进行相关的查询。而无法根据主键或是自定义的值来进行查询。通过 TreeView的TAG(标签??)属性可以很好的解决这个问题。
树形列表加载代码:
1
public void LoadDataToTreeView()
2
{
3
if (LoadTest==false)
4
{
5
return;
6
}
7
tv.BeginUpdate ();
8
tv.Nodes.Clear ();
9
TreeNode root =new TreeNode ("餐饮公式",0,0);
10
tv.Nodes.Add (root);
11
DataTable dtTab;
12
dtTab=dtCy.Tables["tbltab"];
13
foreach (DataRow row in dtTab.Rows)
14
{
15
TreeNode ta=new TreeNode (row["IdName"].ToString(),1,2);
16
ta.Tag=row["Id"]; //将所需值加入tag
17
root.Nodes.Add (ta);
18
}
19
tv.EndUpdate ();
20
}
根据TAG中的值进行相关查询:
1
private void tv_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
2
{
3
4
this.Cursor =Cursors.WaitCursor;
5
string CountInfo="";
6
dg.DataSource =null;
7
TreeNode tn=tv.SelectedNode ;
8
9
if (tn.ImageIndex ==0)
10
{
11
dv.Table =dtCy.Tables ["tbltab"];
12
CountInfo=
13
"共有餐饮公式大类"+dv.Table.Rows.Count +"个";
14
}
15
else if (tn.ImageIndex==1)
16
{
17
dv.Table=dtCy.Tables["Exp"];
18
dv.RowFilter ="IdNameId="+tn.Tag;
19
CountInfo=tn.Text +"类下共有记录"+dv.Count +"条";
20
dg.CaptionText ="餐饮公式一览表";
21
dg.DataSource=dv;
22
}
23
24
sb.Text =CountInfo;
25
this.Cursor =Cursors.Default ;
26
}
27
希望能通过这段代码来起到抛砖引玉的作用,如果您是高手请不要见笑
树形列表加载代码:
1
public void LoadDataToTreeView()
2
{
3
if (LoadTest==false)
4
{
5
return;
6
}
7
tv.BeginUpdate ();
8
tv.Nodes.Clear ();
9
TreeNode root =new TreeNode ("餐饮公式",0,0);
10
tv.Nodes.Add (root);
11
DataTable dtTab;
12
dtTab=dtCy.Tables["tbltab"];
13
foreach (DataRow row in dtTab.Rows)
14
{
15
TreeNode ta=new TreeNode (row["IdName"].ToString(),1,2);
16
ta.Tag=row["Id"]; //将所需值加入tag
17
root.Nodes.Add (ta);
18
}
19
tv.EndUpdate ();
20
}
根据TAG中的值进行相关查询:
1
private void tv_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
2
{
3
4
this.Cursor =Cursors.WaitCursor;
5
string CountInfo="";
6
dg.DataSource =null;
7
TreeNode tn=tv.SelectedNode ;
8
9
if (tn.ImageIndex ==0)
10
{
11
dv.Table =dtCy.Tables ["tbltab"];
12
CountInfo=
13
"共有餐饮公式大类"+dv.Table.Rows.Count +"个";
14
}
15
else if (tn.ImageIndex==1)
16
{
17
dv.Table=dtCy.Tables["Exp"];
18
dv.RowFilter ="IdNameId="+tn.Tag;
19
CountInfo=tn.Text +"类下共有记录"+dv.Count +"条";
20
dg.CaptionText ="餐饮公式一览表";
21
dg.DataSource=dv;
22
}
23
24
sb.Text =CountInfo;
25
this.Cursor =Cursors.Default ;
26
}
27
希望能通过这段代码来起到抛砖引玉的作用,如果您是高手请不要见笑
相关文章推荐
- ASP.NET中利用存储过程实现模糊查询
- ASP.NET中利用存储过程实现模糊查询
- ASP.NET中利用存储过程实现模糊查询
- ASP.NET中利用存储过程实现模糊查询
- LINQ-to-SQL那点事~利用反射在LINQ-to-SQL环境中实现Ado.net的CURD操作
- 使用ADO.NET类及方法实现数据库的查询并返回一个Object 数组
- ASP.NET中利用存储过程实现模糊查询
- ASP.NET中利用存储过程实现模糊查询
- iOS tableView 的 cell上其它控件重用(利用view的tag属性巧妙实现重用,从xib中加在cell重载问题)
- Ado.Net实现简易(省、市、县)三级联动查询,还附加Access数据
- ASP.NET中利用存储过程实现模糊查询
- ASP.NET中利用存储过程实现模糊查询
- ADO.net实现数据查询表的分页
- ASP.NET中利用存储过程实现模糊查询
- ADO.NET 的几个示例一,在数据查询过程中实现事物处理
- ASP.NET中利用存储过程实现模糊查询
- ASP.NET中利用存储过程实现模糊查询
- 数据移植(利用Ado.Net功能实现)
- ASP.NET中利用存储过程实现模糊查询
- ASP.NET 5探险(8):利用中间件、TagHelper来在MVC 6中实现Captcha