LINQ编程实战TreeView动态绑定数据

首先,先来重新创建一个数据库表,这里的数据库表与之前所创建的表有些不同,大家可以自己对比一下。

成都创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目做网站、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元武宁做网站,已为上家服务,为武宁各地企业和个人服务,联系电话:18982081108

 
 
 
  1. CREATE TABLE [dbo].[Me_Menu] (
  2.     [Menu_Id] [int] IDENTITY (1, 1) NOT NULL ,/**节点ID*/
  3.     [Menu_ParentName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,/**父节点名*/
  4.     [Menu_ChildName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,/**子节点名*/
  5.     [Menu_Order] [int] NULL ,/**//*排序用*/
  6. ) ON [PRIMARY]
  7. GO

创建好数据库表后,就是打开数据库连接了,具体的打开方法在这里就不哆嗦了,可参考一下WPF(Winform)中动态创建TreeView 中第二步。

然后,一起来看看其数据的绑定方法吧:

 
 
 
  1. private void BindMenuData()
  2.         {
  3.             string sql = "Select distinct Menu_ParentName,Menu_ChildName From Me_Menu order by Menu_Order desc";
  4.             DataTable menudt = db.GetDbTable(sql);//从数据库中查询出该数据库表,GetDbTable()方法请参见wpf动态创建TreeView中的DBbuild类
  5.             //LINQ查询
  6.             var menuData = from menu in menudt.AsEnumerable()                     
  7.                                group menu by menu.Field("Menu_ParentName"); //按Menu_ParentName来进行分组
  8.             TreeNode node;//父节点
  9.             TreeNode childnd;//子节点
  10.             foreach (var m in menuData) //循环查询
  11.             {
  12.                 node = new TreeNode();
  13.                 node.Text = m.Key; //获取父节点名
  14.                 foreach (var mm in m) //在分组中循环查询
  15.                 {
  16.                     childnd = new TreeNode();
  17.                     childnd.Text = mm.Field("Menu_ChildName");//获取了节点名
  18.                     if (childnd.Text != "")//如果子节点名不为空,则将其加入到其对应的父节点中去
  19.                     {
  20.                         node.Nodes.Add(childnd);
  21.                     }
  22.                 }
  23.                 MenuTView.Nodes.Add(node);//将所有节点添加到TreeView中去,其MenuTView为TreeView控件
  24.             }
  25.         }

最后,在需要的地方直接调用BindMenuData()就可以了。

当然你也可以重写一个带TreeView参数的方法,如:BindMenuData(TreeView MenuTView),来动态创建TreeView。

希望能给大家带来一点帮助……

本文标题:LINQ编程实战TreeView动态绑定数据
网址分享:http://www.stwzsj.com/qtweb/news34/15734.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联