如何在树视图中添加根节点动态使用Asp.net [英] How To Add Root Node In Tree View Dynamically Using Asp.net
本文介绍了如何在树视图中添加根节点动态使用Asp.net的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想绑定DataTable到TreeView.I已经写了以下代码。它当前工作,意味着它显示DataTable的所有数据,但没有根节点。
I Want To Bind DataTable To TreeView.I Have Written Following Code.Its Working Currently,Means It Displays All Data Of DataTable But No Root Node.
List<DocumentData> lstData = GetSPDocuments();
gvDocuments.DataSource = lstData;
gvDocuments.DataBind();
DataTable dt = ConvertToDataTable(lstData);
TreeNode node1 = new TreeNode("Root");
foreach (DataRow r in dt.Rows)
{
int nodeLvl = int.Parse(r["ID"].ToString());
string nodeParent = "Folders";
string nodeName = r["Title"].ToString();
TreeNode tNode = new TreeNode(nodeName);
ht.Add(nodeLvl.ToString() + nodeName, tNode);
if (tvDocs.Nodes.Count == 0)
tvDocs.Nodes.Add(tNode);
else
{
nodeLvl--;
tvDocs.Nodes.Add(tNode);
}
}
如何在这里添加静态根节点?请帮助!
How to Add Static Root Node Here??? Please Help!
推荐答案
尝试这可能会帮助您。
protected void Page_Load(object sender, EventArgs e)
{
conStr = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
conn = new OleDbConnection(conStr);
BindTreeViewControl();
}
private void BindTreeViewControl()
{
try
{
DataSet ds = GetDataSet("Select ProductId,ProductName,ParentId from ProductTable");
DataRow[] Rows = ds.Tables[0].Select("ParentId = 0");
for (int i = 0; i < Rows.Length; i++)
{
TreeNode root = new TreeNode(Rows[i]["ProductName"].ToString(), Rows[i]["ProductId"].ToString());
root.SelectAction = TreeNodeSelectAction.Expand;
CreateNode(root, ds.Tables[0]);
treeviwExample.Nodes.Add(root);
}
}
catch (Exception Ex) { throw Ex; }
}
public void CreateNode(TreeNode node, DataTable Dt)
{
DataRow[] Rows = Dt.Select("ParentId =" + node.Value);
if (Rows.Length == 0) { return; }
for (int i = 0; i < Rows.Length; i++)
{
TreeNode Childnode = new TreeNode(Rows[i]["ProductName"].ToString(), Rows[i]["ProductId"].ToString());
Childnode.SelectAction = TreeNodeSelectAction.Expand;
node.ChildNodes.Add(Childnode);
CreateNode(Childnode, Dt);
}
}
private DataSet GetDataSet(string Query)
{
DataSet Ds = new DataSet();
try
{
OleDbDataAdapter da = new OleDbDataAdapter(Query, conn);
da.Fill(Ds);
}
catch (Exception dex) { }
return Ds;
}
这样的数据库结构是
这篇关于如何在树视图中添加根节点动态使用Asp.net的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文