每个人: 当我运行以下代码时,一切正常,除了在运行应用程序时每个节点显示“TreeNode:”字样。该应用程序是C Sharp Winform .NET 4.0。
而不是每个节点说: 12345日期:1980年1月1日 - 客户:XYZ
他们说: TreeNode: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;
}
}
答案 0 :(得分:1)
这是TreeNode.ToString()方法的实现:
public override string ToString()
{
return ("TreeNode: " + ((this.text == null) ? "" : this.text));
}
所以你所看到的并不是什么大不了的事。例如,当您检查节点时,您将在调试器中看到它。如果你真的在你的用户界面中看到它,那么一个好看的地方就是在“sqmTable”中添加行的代码。确保它使用节点的Text属性而不是ToString()。