我有这个treeview控件,我想把上传的文件放在服务器上。 我希望能够从数据库动态创建节点和子节点。 我正在使用此查询从DB获取数据:
SELECT c.Category, d.DocumentName FROM Categories c
INNER JOIN DocumentUserFile d
ON c.ID = d.CategoryId
WHERE d.UserId = '9rge333a-91b5-4521-b3e6-dfb49b45237c'
该查询的结果是:
transactions.pdf
accounts.pdf
我希望树视图也这样排序。 我正在尝试使用这段代码:
TreeNode tn = new TreeNode();
TreeNode tnSub = new TreeNode();
foreach (DataRow dt in tblTreeView.Rows)
{
tn.Text = dt[0].ToString();
tn.Value = dt[0].ToString();
tnSub.Text = dt[1].ToString();
tnSub.NavigateUrl = "../downloading.aspx?file=" + dt[1].ToString() +"&user=" + userID;
tn.ChildNodes.Add(tnSub);
tvDocuments.Nodes.Add(tn);
}
我正在为第一类和该类别下的文档很好地填充树视图,但是当我想在该类别下显示更多文档时,我无法使其工作,或者甚至更复杂以在下面显示新类别第一个包含该类别的文件。 我怎么解决这个问题? 我很欣赏这些答案。 谢谢,Laziale
答案 0 :(得分:1)
您应该为每个项目创建新节点:
// TreeNode tn = new TreeNode();
// TreeNode tnSub = new TreeNode();
foreach (DataRow dt in tblTreeView.Rows)
{
TreeNode tn = new TreeNode(); // *
tn.Text = dt[0].ToString();
tn.Value = dt[0].ToString();
TreeNode tnSub = new TreeNode(); // *
tnSub.Text = dt[1].ToString();
tnSub.NavigateUrl = "../downloading.aspx?file=" + dt[1].ToString() +"&user=" + userID;
tn.ChildNodes.Add(tnSub);
tvDocuments.Nodes.Add(tn);
}