【发布时间】:2015-09-04 06:31:07
【问题描述】:
我有一个树形视图,其中有两个带有 parentID 0 的子节点和一个没有 ID 的主节点。
Root Node
0--> Child 1
0--> Child 2`
问题是每当我点击 Child 2 时,Child 1 节点都会展开。我使用断点检查过,发现每当我点击 Child 2 时,selectednode.text 都会显示 Child 1。我该如何清除它?
`Treeview1_SelectedNodeChanged()
{
Datatable dt = //Treeview binding
ds.tables.add(dt);
TreeNode selectedNode = New TreeNode();
selectedNode = this.Treeview1.SelectedNode.Text;
}`
即使我点击第二个子节点,这里 selectedNode 总是显示第一个子节点的文本。我正在使用数据表从 SQL 表中绑定树。
树视图绑定代码如下
'页面加载() { (!IsPostBack) { this.GetParentNodes(); } }
public void GetParentNodes()
{
try
{
TreeNode topNode = New TreeNode();
topNode.Text = "Reference Document";
topNode.Value = "0";
topNode.SelectAction = TreeNodeSelectAction.SelectExpand();
topNode.CollapseAll();
TreeView1.Nodes.Add(topNode);
DataTable dt = obj.SelectDocument("DocumentId");
ds.Tables.Add(dt);
ds.Relations.Add("ChildRow",ds.Tables[0]Columns["Id"],ds.Tables[0]Columns["ParentId"],false);
foreach(DataRow firstDataRows in ds.Tables[0]Rows)
{
if(Convert.toInt32(firstDataRows["ParentId"] == 0)
{
TreeNode parentTreeNode = New TreeNode();
parentTreeNode.Text = firstDataRows["FolderName"].ToString();
parentTreeNode.Value = firstDataRows["ParentId"].ToString();
parentTreeNode.SelectAction = TreeNodeSelection.SelectExpand();
parentTreeNode.CollapseAll();
parentTreeNode.Selected = True;
topNode.ChildNodes.Add(parentTreeNode);
GetChildNodes(firstDataRows,parentTreeNode);
}'
感谢和问候, 萨杰
【问题讨论】:
-
请指定您的编码环境
-
脚本是用 C# 为 ASP.Net 网站完成的。单击 + 号时树工作正常,但单击节点文本时它不起作用。我使用了下面的代码 Treeview1_SelectedNodeChanged() { Datatable dt = //Treeview binding ds.tables.add(dt); TreeNode selectedNode = 新 TreeNode(); selectedNode = this.Treeview1.SelectedNode.Text;即使我点击第二个子节点,这里 selectedNode 也总是显示第一个子节点的文本。我正在使用数据表从 SQL 表中绑定树。谢谢和问候,SaJ
标签: treeview