2015-04-22 140 views
0

我正在C#項目[Windows窗體應用程序]上工作,以便從excelsheet [xls] Cell [row i,Column 3]更新樹視圖節點值,而在選擇treenode時,它應更新相應的第4列值[第i行,第4列]。 對我而言,Treenode成功填充,但在選擇treenode時,它始終顯示treenode的第一個元素[未選擇一個]。treeview節點選擇始終返回樹的第一個節點,而不是選定的一個

從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; 
     } 
     } 

請指導,如何得到正確的選定節點。

+0

怎麼樣嘗試treeView1.SelectedItem? – Ben

回答

1

您需要使用

treeView1.SelectedItem 

訪問值。請記住,與列表框和組合框控件相比,這是一個只讀屬性。

+0

對不起Vidas,我使用的Windows窗體應用程序,我沒有得到treeView1.SelectedItems(對錯信息抱歉),請如果你可以指導。 –

相關問題