【问题标题】:treeview node selection always return first Node of Tree, instead of selected one树视图节点选择总是返回树的第一个节点,而不是选择一个
【发布时间】:2015-06-29 16:12:11
【问题描述】:

我正在开发 C# 项目 [Windows 窗体应用程序],从 excelsheet [xls] 单元格 [第 i 行,第 3 列] 值更新树视图节点,在选择树节点时,它应该更新相应的第 4 列值 [第 i 行,第 4 列]。 对我来说,Treenode 已成功填充,但在选择 treenode 时,它​​总是显示 treenode 的第一个元素 [Not selected one]。

从 Excel 填充的 Treenode 为: [从第3列元素更新子节点[第2列包含父节点名称,第3列有子节点名称],如果第2列值与父节点名称[我的模块]相同,则更新同一父节点下的子节点。]

            for (int i = 0; i < worksheet.UsedRange.Rows.Count; i++)
            {
                string mynode = ((Excel.Range)worksheet.Cells[i + 1, 3]).Value2.ToString();
                string mynode2 = ((Excel.Range)worksheet.Cells[i + 1, 2]).Value2.ToString();

                if (mynode2 == mymodule)
                {
                    TreeNode ChildNode = ParentNode.Nodes.Add(mynode);
                    ChildNode.Text = mynode;
                }                    
            }

在选择子节点时,它总是给出第一个父节点。而不是选定的节点。

      for (int i = 0; i < worksheet.UsedRange.Rows.Count - 2; i++)            
        {                
string mynodetext = ((Excel.Range)worksheet.Cells[i + 2, 3]).Value2.ToString();
 string mynodetext1 = ((Excel.Range)worksheet.Cells[i + 2, 4]).Value2.ToString();

        if (treeView1.SelectedNode.FirstNode.Text == mynodetext)
       {
          this.richTextBox1.SelectedText += Environment.NewLine + mynodetext1 + Environment.NewLine;
       }
      }

请指导,如何正确选择节点。

【问题讨论】:

  • 试试 treeView1.SelectedItem 怎么样?

标签: c# excel treeview treenode


【解决方案1】:

你需要使用

treeView1.SelectedItem

访问该值。请记住,与列表框和组合框控件相比,这是一个只读属性。

【讨论】:

  • 对不起 Vidas,我正在使用 Windows 窗体应用程序,但我没有得到 treeView1.SelectedItems(抱歉信息有误),请您指导。
猜你喜欢
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多