winform中treeview控件从数据库中添加节点
发布网友
发布时间:2022-04-08 05:45
我来回答
共1个回答
热心网友
时间:2022-04-08 07:14
这个是商品类型分级的代码,给你参考一下,主要是递归调用节点的加载
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());
}
}追问
我的项目是三层架构的,你可以帮我看看吗?BLL就一个传递函数,其他两层截图如下
追答你查询所有部门,返回ds从哪里来的
可能是你的查询没有返回值