怎样把数据表的数据绑定到treeview控件上面
发布网友
发布时间:2022-04-07 23:16
我来回答
共2个回答
热心网友
时间:2022-04-08 00:45
这段代码很珍贵的,送你吧!
仅供作罗辑参与,数据库具体内容,如字段对你来说无实际意义.
private void load_CategoryTree()
{
DataSet dsCatNode= get_TreeViewData(); //这里的数据源需要你自己提供.
foreach (DataRow dr in dsCatNode.Tables[0].Rows)
{
Guid? parent = null;
if (dr["ParentID"] != Convert.DBNull)
parent = (Guid)dr["ParentID"];
if (parent == null || parent == Guid.Empty) //只加顶层
{
TreeNode newNode = new TreeNode();
//newNode.Text = dr["txtText"].ToString();
newNode.Text = dr["Name"].ToString();
newNode.Value = dr["ID"].ToString();
tv_ProctCategory.Nodes.Add(newNode);
add_Child(newNode, dsCatNode.Tables["Select"].Rows); //递归添加子节点
}
}
}
//递归添加子节点
private void add_Child(TreeNode node, DataRowCollection drs)
{
if (node == null) return;
if (drs == null) return;
int count = drs.Count;
if (count < 1) return;
Guid? id = new Guid(node.Value);
foreach (DataRow r in drs)
{
Guid? parent = null;
if (r["ParentID"] != Convert.DBNull)
parent = (Guid)r["ParentID"];
if (parent == id)
{
TreeNode newNode = new TreeNode();
//newNode.Text = r["txtText"].ToString();
newNode.Text = r["Name"].ToString();
newNode.Value = r["ID"].ToString();
node.ChildNodes.Add(newNode);
add_Child(newNode, drs); //递归
}
}
}
热心网友
时间:2022-04-08 02:03
是要一次加载完的还是动态逐级加载?