我正在尝试设置一个Value并在DataGridViewComboBoxColumn中显示它。
我创建了DataGridView,并添加了一个列作为DataGridViewComboBoxColumn的类型。
当我运行我的程序时,一切正常,但我想自动设置并显示我的DataGridViewComboBoxColumn的默认项目,与
相同 java ( combobox.addItem("it"); //
项目'it'会自动显示,我们无需打开组合框并手动选择..)
我的DataGridView被调用:'Table_Items' 我编写了如下代码:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
DataTable dt = new DataTable();
dt.Columns.Add("Status");
dt.Columns.Add("Value");
dt.Rows.Add("Status 1", "Available");
dt.Rows.Add("Status 2", "Reserved");
dt.Rows.Add("Status 3", "Ordered");
DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
cmb.DefaultCellStyle.Font = new Font("Tahoma", 8, FontStyle.Bold);
cmb.DefaultCellStyle.ForeColor = Color.BlueViolet;
cmb.FlatStyle = FlatStyle.Flat;
cmb.Name = "CmboColumnSample";
cmb.HeaderText = "CmboColumnSample";
cmb.DisplayMember = "Status";
cmb.ValueMember = "Value";
Table_Items.Columns.Add(cmb);
cmb.DataSource = dt;
for (int i = 0; i < Table_Items.RowCount; i++)
{
Table_Items.Rows[i].Cells["CmboColumnSample"].Value = (cmb.Items[1] as DataRowView).Row[1].ToString();
}
}
我想我没有很好地解释我的问题,所以我拍了这张图片来更好地解释它:
我google了很多,我在这个链接中发现了一个类似的问题:
how to set SelectedIndex in DataGridViewComboBoxColumn?
但所有答案都不符合问题!! :(
对不起,如果我的英语不好,请提前谢谢你:) BinaryMan
答案 0 :(得分:0)
您可以在添加到DataGridView之前尝试设置null值。
cmb.DefaultCellStyle.NullValue = "Status 1";
第一个解决方案对我有用,因为我使用的是项而不是DataSource。但相反,您可以尝试值成员。
cmb.DefaultCellStyle.NullValue = "Available";
让我知道什么对你有用。