【问题标题】:Treeview node not expanding on clicking on textTreeview 节点在单击文本时未展开
【发布时间】: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


【解决方案1】:

通过如下所述的小改动解决了上述问题...

通过改变

parentTreeNode.Value = firstDataRows["ParentId"].ToString();

to 

parentTreeNode.Value = firstDataRows["Id"].ToString();

感谢和问候, 萨金A

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    相关资源
    最近更新 更多