我有一个问题,其中我有一个DataGridViewComboBoxColumn
in aDataGridView
并且我想将一个项目添加到DataSource
.
我最初将 DataSource 属性设置为 aList<string>
可以正常工作。稍后我将在此列表中添加一个项目,它工作正常。但是当我尝试在组合框中选择此项目时,我收到数据验证错误,
System.ArgumentException:DataGridViewComboBoxCell 值无效。
此外,我实际上无法将组合框设置为新添加的值。
这是一个完整的示例。
public partial class Form1 : Form
{
List<string> Data { get; set; }
public Form1()
{
InitializeComponent();
// Populate our data source
this.Data = new List<string> { "Thing1", "Thing2" };
// Set up controls
var gvData = new System.Windows.Forms.DataGridView();
var col1 = new System.Windows.Forms.DataGridViewComboBoxColumn();
var button = new System.Windows.Forms.Button();
gvData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { col1 });
// Set the column's DataSource
col1.DataSource = this.Data;
col1.HeaderText = "Test";
col1.Name = "col1";
// Set up a button which adds something to the source
button.Text = "Add";
button.Location = new System.Drawing.Point(0, 200);
button.Click += (e, s) => this.Data.Add("Thing3");
this.Controls.Add(gvData);
this.Controls.Add(button);
}
}
如何将项目添加到DataSource
for my DataGridViewComboBoxColumn
?