
我这个treeview为什么只能从数据库调用根节点
1个回答
2016-07-22
展开全部
这个是商品类型分级的代码,给你参考一下,主要是递归调用节点的加载
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());
}
}

2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询