无法为DataGridView设置CurrentRow / CurrentCell

时间:2018-04-18 17:28:37

标签: c# .net winforms datagridview

您能告诉我在执行以下代码后如何防止 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。

1 个答案:

答案 0 :(得分:0)

我在以下主题的帮助下解决了它:DataGridView "index -1 does not have a value"

简而言之,将List更改为BindingList作为数据源并将其更改为