您能告诉我在执行以下代码后如何防止 CurrentRow 保持为空:
private void Kartons_DataGrid_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
foreach (DataGridViewRow row in Kartons_DataGrid.Rows)
{
Kartons_DataGrid.ClearSelection();
var line = (TransportUnitHeader)row.DataBoundItem;
if (line.NoTransportUnit == _selectTuNo)
{
if (Kartons_DataGrid.CurrentRow != null) Kartons_DataGrid.CurrentRow.Selected = false;
Kartons_DataGrid.Rows[row.Index].Selected = true;
Kartons_DataGrid.CurrentCell = Kartons_DataGrid.Rows[row.Index].Cells[0];
_selectTuNo = string.Empty;
break;
}
}
}
在第
行Kartons_DataGrid.CurrentCell = Kartons_DataGrid.Rows[row.Index].Cells[0];
它总是为CurrentCell抛出NullReference,因此无法更改。
我需要在数据绑定完成后默认选择第一行DataGridView。
答案 0 :(得分:0)
我在以下主题的帮助下解决了它:DataGridView "index -1 does not have a value"
简而言之,将List更改为BindingList作为数据源并将其更改为
。