gridView.FirstDisplayedScrollingRowIndex = gridView.SelectedRows[0].Index;
炸毁:
没有可用的空间来显示行
DataGridView是非绑定模式下的自定义控件。未在基于特定datagridview的事件中设置datagridview.FirstDisplayedScrollingRowIndex。
通过DataSet.EndMerge上的gatagridview.Rows.Add方法将行添加到datagridview中,然后逐行设置单元格的样式和格式。清除并还原最后选择的行,并将滚动条位置还原到第一行。
尝试找出此异常的实际含义。
if (gridView.Rows.Count > 0)
{
gridView.ClearSelection();
T value = GetItemByRow(gridView.Rows[0]);
bool isVisible = filter.ShouldShow(value);
gridView.Rows[0].Selected = true;
if (!isVisible)
{
gridView.Rows[0].Visible = true;
gridView.FirstDisplayedScrollingRowIndex = gridView.SelectedRows[0].Index;
gridView.Rows[0].Visible = false;
}
else
{
gridView.FirstDisplayedScrollingRowIndex = gridView.SelectedRows[0].Index;
}
}
最佳答案
当网格中存在行但不可见时,将其设置为第一行将使其抛出此异常。