0

大家:当我运行以下代码时,一切正常,但运行应用程序时每个节点都会显示“TreeNode:”字样。该应用程序是 C Sharp Winform .NET 4.0。

而不是每个节点都说:12345 Date:1/1/1980 - Customer:XYZ

他们说:TreeNode:12345 日期:1/1/1980 - 客户: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;
    }
}
4

1 回答 1

1

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

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

所以你看到的并不是什么大秘密。例如,当您检查节点时,您会在调试器中看到它。如果您确实在您的 UI 中看到它,那么在将行添加到“sqmTable”的代码中是一个很好的查看位置。确保它使用节点的 Text 属性而不是 ToString()。

于 2013-11-14T22:11:20.917 回答