怎样用TreeView控件与数据库进行连接
产生
├- 人力资源部
├- 综合科
│├- 办公室
│├- 打字室
││├-
││└- 打字二室
│└- 文印室
├- 销售部
├- 生产部
└- 财务部
这样的效果,这此数据都在数据库中的一个表中(SQL数据库)
产生
├- 人力资源部
├- 综合科
│├- 办公室
│├- 打字室
││├-
││└- 打字二室
│└- 文印室
├- 销售部
├- 生产部
└- 财务部
这样的效果,这此数据都在数据库中的一个表中(SQL数据库)
解决方案 »
- "在WinForms程序里实现窗体传值的最佳实践 "有不能解决的问题
- 【求助】httpwebrequest如何模拟点击js的超链接???
- Workflow 中如何编写一个XOML文件,然后加载呢?
- DropDownList怎么在选中的时候,显示部分未显示出来的值?
- GridView的属性GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)的使用问题.
- 读取文本文件时被另一进程占用发生错误
- 在vs环境中怎么在form界面上插入office的界面
- Web service 如何返回xmldocument啊
- 如何得到指针(鼠标)的当前位置??
- 组合体?
- [C#]请推荐一些C#和数据库的接口的资料或书
- 一个怪异的错误 C#
Create table TreeTable(
ID int not null,
ParentID int ,
name varchar(20)
)insert into TreeTable(ID,name) values(1,'根节点')
insert into TreeTable values(2,1,'深圳仓库')
insert into TreeTable values(3,1,'上海仓库')
insert into TreeTable values(4,2,'a区域')
insert into TreeTable values(5,3,'b区域')程序:在load中绑定:
SqlConnection sql = new SqlConnection(@"Data Source=LIUFENG\SQLEXPRESS;Initial Catalog=liufeng;Integrated Security=True");
SqlCommand cmd = new SqlCommand("Select * from TreeTable", sql);
DataSet dss = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dss);
DataTable dt = dss.Tables[0];
BindTree(gvTreeView, dt);
其中gvTreeView 是我公司重写的TreeView,你可以直接用TreeView代换protected void BindTree(gvTreeView gvTreeView , DataTable dt)
{
gvTreeView.Nodes.Clear();//清空树节点
DataRow []row = dt.Select("ParentID is null");
if (row.Length <= 0)
{
return;//找不到根结点则返回
}
gvTreeNode root = new gvTreeNode();
root.Text = row[0]["name"].ToString();
root.Tag = row[0]["ID"].ToString();
gvTreeView.Nodes.Add(root);
CreateChildNode(root, dt);
root.Expand();
} protected void CreateChildNode(gvTreeNode gvTreeNode, DataTable dt)
{
DataRow[] rows = dt.Select("ParentID ='" + gvTreeNode.Tag + "'");
foreach(DataRow row in rows)
{
gvTreeNode Node = new gvTreeNode();
Node.Text = row["name"].ToString();
Node.Tag = row["ID"].ToString();
gvTreeNode.Nodes.Add(Node);
CreateChildNode(Node, dt);
}
}