c 的treeview繫結和獲取值的方法

2022-10-06 16:03:20 字數 1910 閱讀 5029

對treelist 的一些功能的實現

1.資料繫結最基本的兩個屬性:keyfieldname和parentfieldname。(這兩個屬性一設定就基本上可以實現分級了)

可以通過**的編寫實現,也可以直接在屬性裡面直接實現。

這種資料庫設計是比較常見的,一般資料滿足樹形關係就可以這樣設計。繫結資料時,只需指定datasource為對應 的datatable,指定keyfieldname為表主鍵字段,parentfieldname為表指向主鍵的外來鍵欄位名。

複製** **如下:

private void binddata()

2 基本功能的實現

①  . 選擇某一節點時,該節點的子節點全部選擇  取消某一節點時,該節點的子節點全部取消選擇

哪個節點引起行為的?節點是選中還是取消選中?由此確定方法的兩個引數:treelistnode和checkstate。遍歷該節點及其子孫,並將其選中狀態設定為該節點的狀態即可。

複製** **如下:

///

/// 選擇某一節點時,該節點的子節點全部選擇  取消某一節點時,該節點的子節點全部取消選擇

///

///

///

private void setcheckedchildnodes(treelistnode node, checkstate check)

}② .某節點的子節點全部選擇時,該節點擊擇;某節點的子節點未全部選擇時,該節點不選擇

複製** **如下:

///

/// 某節點的子節點全部選擇時,該節點擊擇   某節點的子節點未全部選擇時,該節點不選擇

///

///

///

&程式設計客棧nbsp;     private void setcheckedparentnodes(treelistnode node, checkstate check)

parentcheckstate = check;//否則(該節點的兄弟節點擊中狀態都相同),則父節點擊中狀態為該節點的選中狀態

}node.parentnode.checkstate = parentcheckstate;

setcheckedparentnodes(node.parentnode, check);//遍歷上級節點}}

上兩步寫好了,別忘了上面的兩個方法在treelist_afterchecknode裡面觸發:

複製** **如下:

private void tloffice_afterchecknode(object sender, devexpress.xtratreelist.nodeeventargs e)

3.獲取選中的核取方塊資料列表

複製** **如下:

private list lstcheckedofficeid = new list();//選擇局id集合

///

/// 獲取選擇狀態的資料主鍵id集合

///

/// 父級節點

private void getcheckedofficeid(treelistnode parentnode)

foreach (treelistnode node in parentnode.nodes)

}getcheckedofficeid(node);

bpmeqhwii;      }

}下面測試獲取主鍵列表:

複製** **如下:

private void btncheck_click(object sender, eventargs e)

}string idstr = string.empty;

foreach (int id in lstcheckedofficeid)

messagebox.show(idstr);

}本文標題: c#的treeview繫結和獲取值的方法

本文位址:

關於TreeView的無限繫結

protected void addtree string placevalue,treenode tnode if placevalue.length 3 datatable dt db.executedatatable sql if dt null dvtree.table dt foreach...

TreeView的資料繫結 winForm

region treeview的資料繫結 treeview的資料繫結函式 treeview控制項id名稱 資料的查詢語句 資料庫中父級別的欄位名稱 樹控制項要顯示的文字的欄位名稱 樹控制項資料相關中的欄位名稱 public void bind treeview treeview treeview,s...

treeview 實現資料的繫結

今天 終於上線了,心情很好,晚上特意在社群測試了好久。每天希望都有時間來學習新的技術。今天是treeview控制項,學習開始之前懵裡懵懂,以為它有多神秘,看了之後,也不過如此,原理是 假設是個兩級的treeview,則只需為它先繫結depth 0的節點,然後根據depth 0的節點的id來繫結dep...