我在数据网格视图中有一个DataGridViewComboBoxCell,我在form_load.It中加载值最初在DataGridViewComboBoxCell中显示为空白,当新行为added.But时,我的问题是如何设置默认值,在该DataGridViewComboBoxCell.So中设置“Other”,每当我尝试添加新行时,它都会在其中显示默认项。
我想向你展示我的代码。
DataGridViewComboBoxCell comboItem_current = dataGridView1.CurrentRow.Cells2 as DataGridViewComboBoxCell;
comboItem_current.Items.Clear();
comboItem_current.Items.Add("Other");
foreach (DataRow dr in ds_Item.Tables[0].Rows)
{
DataGridViewComboBoxCell comboItem1 = dataGridView1.CurrentRow.Cells[2] as DataGridViewComboBoxCell;
comboItem1.Items.Add(dr[1].ToString());
}
请帮帮out....thanks
发布于 2013-07-30 08:17:32
我知道这是一个古老的帖子,但希望我能帮助一些人避免我的困惑。
使用CellFormatting是一个输家,因为每当有任何东西接触到单元时,它都会调用它。结果是,该值不断地被设置回默认值。
对我来说起作用的是这样处理DefaultValuesNeeded事件:
private void OnGridDefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["Position"].Value = PositionEnum.Any;
}
这允许我设置默认值,并允许用户更改该值。
发布于 2012-08-21 21:23:44
你可以这样做:Set DatagridviewComboBoxColumn Default Value
OR这样:
只需为datagridview添加CellFormatting
事件
void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 0) //Index of your DataGridViewComboBoxColumn
{
e.Value = "Default Value";
}
}
发布于 2012-08-21 21:40:13
为什么不保持简单,只使用像这样的东西
<DataGridComboBoxColumn SelectedItemBinding="{Binding MyProp}" Width="*" Header="MyHeader" ></DataGridComboBoxColumn>
当然,您的DataGrid需要使用IEnumerable设置DataContext属性,其中MyObj具有MyProp
https://stackoverflow.com/questions/12055312
复制相似问题