C# winform 如何取数据库中的字段给treeview赋值
- 提问者网友:却不属于对方
- 2021-02-23 14:05
- 五星知识达人网友:夜风逐马
- 2021-02-23 15:03
- 1楼网友:何以畏孤独
- 2021-02-23 16:27
对你这个问题很感兴趣,我做了一个例子,希望有所帮助。
using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms;
namespace windowsformsapplication13 { public partial class form1 : form { public form1() { initializecomponent(); }
//表mytable
//id pid name
//1 0 child1
//2 1 child2
//3 1 child3
//4 2 child4
datatable datatable = new datatable(); private void button1_click(object sender, eventargs e) { datatable.columns.add("id"); datatable.columns.add("pid"); datatable.columns.add("name");
datarow dr = datatable.newrow(); dr["id"] = 1; dr["pid"] = 0; dr["name"] = "child1"; datatable.rows.add(dr); dr = datatable.newrow(); dr["id"] = 2; dr["pid"] = 1; dr["name"] = "child2"; datatable.rows.add(dr); dr = datatable.newrow(); dr["id"] = 3; dr["pid"] = 1; dr["name"] = "child3"; datatable.rows.add(dr); dr = datatable.newrow(); dr["id"] = 4; dr["pid"] = 2; dr["name"] = "child4"; datatable.rows.add(dr);
this.datagridview1.datasource = datatable;
if (treeview1.selectednode == null) { messagebox.show("请选择一个节点", "提示信息", messageboxbuttons.ok, messageboxicon.information); } else { //创建一个节点对象,并初始化 treenode tmp; foreach (datacolumn dc in datatable.columns) { tmp = new treenode(dc.tostring()); //在treeview组件中加入子节点 treeview1.selectednode.nodes.add(tmp); }
treeview1.expandall(); }
}
private void treeview_select(object sender, treevieweventargs e) { string selectstring = this.treeview1.selectednode.text.tostring(); if (selectstring.compareto(this.treeview1.nodes[0].text) == 0) { this.datagridview2.datasource = datatable; } else { datatable datatabletemp = new datatable(); datatabletemp.columns.add(selectstring); foreach (datarow dr in datatable.rows) { datarow drtemp = datatabletemp.newrow(); drtemp[selectstring] = dr[selectstring]; datatabletemp.rows.add(drtemp); } this.datagridview2.datasource = datatabletemp; } } } }
程序已发送到你邮箱,请查收。