这是我的代码:
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
要编辑的用户。此外,我处理 gvCondition 的事件 RowsAdded 以便在用户添加新行时在 datagridview 中显示默认值。
当我将此 col 添加到我的 dgvCondition 时,然后在其上添加一行。它总是显示一个空单元格,除非我自己选择一个值。我试图调试这个应用程序,我发现代码cell.Value = lstParameterDataSource[0].Value;
不起作用。单元格的值始终为空。
到底是怎么回事?我希望它在 UI 显示时显示默认值。我该如何实现这个功能?