因此,我在WinForms應用程序中調用了一個簡單的網格,名爲dgAttributes。我使用下面的代碼來設置列:ArgumentException當使用DataGridViewComboBoxColumn向網格添加行時
dgAttributes.Columns.Clear();
dgAttributes.Columns.Add("Path", "Path");
dgAttributes.Columns.Add("Parameter", "Parameter");
DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn
{
HeaderText = "DataConnection",
Name = "DataConnection",
DisplayMember = "ConnectionName",
ValueMember = "ServerName",
DataSource = _dataConnections
};
dgAttributes.Columns.Add(comboBoxColumn);
dgAttributes.Columns.Add("Tag", "Tag");
的_dataConnections變量包含DataConnections的列表,並始終與至少一個有效的實例填充。我想要ConnectionName顯示在網格中。 該DataConnection類看起來是這樣的:
public class DataConnection
{
public string ServerName;
public string UserName;
public string ConnectionName;
public override string ToString()
{
return ConnectionName;
}
}
但是,當我試圖做到以下幾點:
DataConnection conn = _dataConnections.DefaultIfEmpty(_dataConnections.FirstOrDefault())
.FirstOrDefault(a => a.ConnectionName == point.DataConnection);
dgAttributes.Rows.Add(point.RelativePath, point.Element.Name, conn, point.Tag);
我得到一個ArgumentException(沒有的InnerException)在第二行指出:
稱爲ConnectionName的字段不存在。
有人能告訴我我做錯了什麼嗎?我認爲這是非常明顯的,但我似乎無法弄清楚。我確實看過示例和其他帖子,但看起來我正在做正確的事情。