利用TreeView的TAG属性实现ADO.NET下的多表查询

 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

希望能通过这段代码来起到抛砖引玉的作用,如果您是高手请不要见笑
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值