winform中treeview控件从数据库中添加节点
数据库是SQL,从数据库“部门表”里查询到所有部门名称,然后把它赋给datatable,如何把datatable里的值绑定到treeview中的部门节点下面的子节点,跪求...
数据库是SQL,从数据库“部门表”里查询到所有部门名称,然后把它赋给datatable,如何把datatable里的值绑定到treeview中的部门节点下面的子节点,跪求具体方法
展开
1个回答
展开全部
这个是商品类型分级的代码,给你参考一下,主要是递归调用节点的加载
private void RefreshTreeView() //根节点,所有节点挂在这个节点下
{
TreeNode tmp = new TreeNode("商品分类");//根节点
tmp.Tag = "";
this.GoodsTypetreeView.Nodes.Add(tmp);
//获取数据,显示到GoodsTypetreeView
String sqlStr = String.Format(@"Select TypeCode,TypeName,ParentTypeCode,case IsCommon when '0' then '否' else '是'
end as IsCommon,case Status when '0' then '未用' else '使用' end as Status,Remark from Com_GoodsType where Status = 1");
DataSet ds = SqlDBHelper.GetDs(sqlStr);
//nodes(this.GoodsTypetreeView.Nodes, ds, 0);
nodes(tmp, ds, "");
}
//递归加载节点及子节点
private void nodes(TreeNode tnode, DataSet ds, string parentcode)
{
//创建视图 ,应为只有一张表
DataView dview = new DataView(ds.Tables[0]);
//视图的好处,在于能方便筛选数据
dview.RowFilter = "[ParentTypeCode]='" + parentcode + "'";
//显示每个节点的标题,递归!
foreach (DataRowView row in dview)
{
TreeNode node = new TreeNode();
node.Text = row["TypeName"].ToString();
node.Tag = row["TypeCode"].ToString();
tnode.Nodes.Add(node);
nodes(node, ds, row["TypeCode"].ToString());
}
}
private void RefreshTreeView() //根节点,所有节点挂在这个节点下
{
TreeNode tmp = new TreeNode("商品分类");//根节点
tmp.Tag = "";
this.GoodsTypetreeView.Nodes.Add(tmp);
//获取数据,显示到GoodsTypetreeView
String sqlStr = String.Format(@"Select TypeCode,TypeName,ParentTypeCode,case IsCommon when '0' then '否' else '是'
end as IsCommon,case Status when '0' then '未用' else '使用' end as Status,Remark from Com_GoodsType where Status = 1");
DataSet ds = SqlDBHelper.GetDs(sqlStr);
//nodes(this.GoodsTypetreeView.Nodes, ds, 0);
nodes(tmp, ds, "");
}
//递归加载节点及子节点
private void nodes(TreeNode tnode, DataSet ds, string parentcode)
{
//创建视图 ,应为只有一张表
DataView dview = new DataView(ds.Tables[0]);
//视图的好处,在于能方便筛选数据
dview.RowFilter = "[ParentTypeCode]='" + parentcode + "'";
//显示每个节点的标题,递归!
foreach (DataRowView row in dview)
{
TreeNode node = new TreeNode();
node.Text = row["TypeName"].ToString();
node.Tag = row["TypeCode"].ToString();
tnode.Nodes.Add(node);
nodes(node, ds, row["TypeCode"].ToString());
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询