private void InTreeViwe()
{
DataTable dt = CreateTreeView();
DataView dv = new DataView(dt);
dv.RowFilter = "ParentID=0";
TreeView1.ShowCheckBoxes = TreeNodeTypes.All;
foreach (DataRowView drv in dv)
{
TreeNode node = new TreeNode();
node.Text = drv["NAME"].ToString();
node.Value = drv["ID"].ToString();
node.Expanded = false;
TreeView1.Nodes.Add(node);
AddReplies(dt, node);
}
}
private DataTable CreateTreeView()
{
string constring = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter("select * from QuHua", conn);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
private void AddReplies(DataTable dt, TreeNode node)
{
DataView dv = new DataView(dt);
dv.RowFilter = "ParentID='" + node.Value + "'";
foreach (DataRowView row in dv)
{
TreeNode replyNode = new TreeNode();
replyNode.Text = row["NAME"].ToString();
replyNode.Value = row["ID"].ToString();
replyNode.Expanded = false;
node.Expanded= false;
node.ChildNodes.Add(replyNode);
AddReplies(dt,replyNode);
}
}
本文介绍了一种使用C#从数据库中获取数据并填充TreeView控件的方法。通过创建数据视图并设置过滤条件来显示顶级节点,然后递归地加载子节点,实现了层次结构的数据展示。
3624

被折叠的 条评论
为什么被折叠?



