2013-11-14 40 views
0

所有人: 当我运行下面的代码时,除了在运行应用程序时每个节点显示“TreeNode:”字样,一切正常。该应用程序是C Sharp Winform .NET 4.0。为什么winforms TreeView treenode在节点中说'treenode:'?

而是每个节点说法: 12345日期:1980年1月1日 - 客户:XYZ

他们说: 树节点:12345日期:1980年1月1日 - 客户:XYZ。

我正在使用.NET 4.0。我不使用TreeView很多,但我从来没有见过旧版.NET的这个问题。

感谢您的帮助。 戴尔

quotesTreeView.BeginUpdate(); 
quotesTreeView.Nodes.Clear(); 

for (int i = 0; i < sqmTable.Rows.Count; i++) 
{ 
    if (currentQuoteNumber != sqmTable.Rows[i]["QuoteNumber"].ToString()) 
    {       
     quotesTreeView.Nodes.Add(new TreeNode(sqmTable.Rows[i]["QuoteNumber"].ToString()) + " Date: " + sqmTable.Rows[i]["QuoteDate"].ToString() + " - Customer:" + sqmTable.Rows[i]["CustomerName"].ToString()); 

     quotesTreeView.Nodes[masterNodeNumber].Tag = C_MASTER + "," + sqmTable.Rows[i]["QuoteNumber"].ToString(); 
     quotesTreeView.Nodes[masterNodeNumber].ImageIndex = C_IMAGE_QLOGO; 
     quotesTreeView.Nodes[masterNodeNumber].SelectedImageIndex = C_IMAGE_QLOGO; 

     currentQuoteNumber = sqmTable.Rows[i]["QuoteNumber"].ToString(); 
     masterNodeNumber = quotesTreeView.Nodes.Count-1; 
    } 
} 
+3

看起来像您的datacolumn'QuoteNumber'具有前缀'TreeNode:' –

+0

您可以在控件的属性中设置每个节点的文本。 – Brian

回答

1

这是TreeNode.ToString()方法的实现:

public override string ToString() 
{ 
    return ("TreeNode: " + ((this.text == null) ? "" : this.text)); 
} 

所以,你看到的是没有很大的谜。例如,当您检查一个节点时,您会在调试器中看到它。如果你真的在你的用户界面中看到它,那么在查看“sqmTable”的代码中可以找到一个好的地方。确保它使用节点的Text属性而不是ToString()。