新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LINQ編程實戰(zhàn)TreeView動態(tài)綁定數(shù)據(jù)
首先,先來重新創(chuàng)建一個數(shù)據(jù)庫表,這里的數(shù)據(jù)庫表與之前所創(chuàng)建的表有些不同,大家可以自己對比一下。

成都創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目做網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元武寧做網(wǎng)站,已為上家服務(wù),為武寧各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
- CREATE TABLE [dbo].[Me_Menu] (
- [Menu_Id] [int] IDENTITY (1, 1) NOT NULL ,/**節(jié)點ID*/
- [Menu_ParentName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,/**父節(jié)點名*/
- [Menu_ChildName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,/**子節(jié)點名*/
- [Menu_Order] [int] NULL ,/**//*排序用*/
- ) ON [PRIMARY]
- GO
創(chuàng)建好數(shù)據(jù)庫表后,就是打開數(shù)據(jù)庫連接了,具體的打開方法在這里就不哆嗦了,可參考一下WPF(Winform)中動態(tài)創(chuàng)建TreeView 中第二步。
然后,一起來看看其數(shù)據(jù)的綁定方法吧:
- private void BindMenuData()
- {
- string sql = "Select distinct Menu_ParentName,Menu_ChildName From Me_Menu order by Menu_Order desc";
- DataTable menudt = db.GetDbTable(sql);//從數(shù)據(jù)庫中查詢出該數(shù)據(jù)庫表,GetDbTable()方法請參見wpf動態(tài)創(chuàng)建TreeView中的DBbuild類
- //LINQ查詢
- var menuData = from menu in menudt.AsEnumerable()
- group menu by menu.Field("Menu_ParentName"); //按Menu_ParentName來進(jìn)行分組
- TreeNode node;//父節(jié)點
- TreeNode childnd;//子節(jié)點
- foreach (var m in menuData) //循環(huán)查詢
- {
- node = new TreeNode();
- node.Text = m.Key; //獲取父節(jié)點名
- foreach (var mm in m) //在分組中循環(huán)查詢
- {
- childnd = new TreeNode();
- childnd.Text = mm.Field("Menu_ChildName");//獲取了節(jié)點名
- if (childnd.Text != "")//如果子節(jié)點名不為空,則將其加入到其對應(yīng)的父節(jié)點中去
- {
- node.Nodes.Add(childnd);
- }
- }
- MenuTView.Nodes.Add(node);//將所有節(jié)點添加到TreeView中去,其MenuTView為TreeView控件
- }
- }
最后,在需要的地方直接調(diào)用BindMenuData()就可以了。
當(dāng)然你也可以重寫一個帶TreeView參數(shù)的方法,如:BindMenuData(TreeView MenuTView),來動態(tài)創(chuàng)建TreeView。
希望能給大家?guī)硪稽c幫助……
當(dāng)前題目:LINQ編程實戰(zhàn)TreeView動態(tài)綁定數(shù)據(jù)
標(biāo)題路徑:http://www.5511xx.com/article/cdsshci.html


咨詢
建站咨詢
