gridView.FirstDisplayedScrollingRowIndex = gridView.SelectedRows[0].Index;
爆炸:
没有空间可以显示行
DataGridView是未绑定模式下的自定义控件。 datagridview.FirstDisplayedScrollingRowIndex未在特定的基于datagridview的事件中设置。
通过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;
}
}
答案 0 :(得分:0)
当网格中存在行但不可见时将其设置为第一行将使其抛出此异常。
答案 1 :(得分:0)
当网格的大小自动设置为0高度(或可能是宽度)时,您进行设置
(e.oldValue !== null) && (e.value !== null)
将引发异常。我们的网格设置了dataGridView.FirstDisplayedScrollingRowIndex = 0;
,在某些情况下,其大小设置为不可见。
我们的解决方法是将MinimumSize设置为100/50,我们再也没有看到异常。即使网格不在窗口内(因此不可见),也不会引发异常。