这是我的代码:
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.ValueMember = "Value";
col.DisplayMember = "Name";
col.DataSource = lstParameterDataSource;
//lstParameterDataSource is lst like List<BindEntity>.
BindEntity
是一个有两个属性的类。一个属性为Value
,另一个属性为Name
。它们都是字符串类型。
this.dgvCondition.RowsAdded += delegate(object sender, DataGridViewRowsAddedEventArgs args)
{
if (this._parameters != null && this._parameters.Count > 0)
{
DataGridViewComboBoxCell cell = this.dgvCondition.Rows[args.RowIndex].Cells[0] as DataGridViewComboBoxCell;
cell.Value = lstParameterDataSource[0].Value;
}
};
dgvCondition是我的datagridview
用户将被编辑。另外我处理事件RowsAdded of gvCondition,以便在用户添加新行时在datagridview中显示默认值。
当我将此col添加到我的dgvCondition时,然后在其上添加一行。它总是显示一个空单元格,除了我自己选择一个值。我试图调试这个应用程序,我发现代码cell.Value = lstParameterDataSource[0].Value;
不起作用。单元格的值始终为空。
发生了什么事?我希望它在UI显示时显示默认值。我该如何实现这个功能?
答案 0 :(得分:0)
你可以使用它,
((DataGridViewComboBoxCell)(this.dgvCondition.Rows[args.RowIndex].Cells[0])).Value= lstParameterDataSource[0].Value;
如果你帮助我,请告诉我。