设置 gridView 时获取“没有可用于显示行的空间”.FirstDisplayScrollingRowIndex
本文关键字:显示 空间 FirstDisplayScrollingRowIndex 用于 gridView 获取 设置 | 更新日期: 2023-09-27 18:19:45
gridView.FirstDisplayedScrollingRowIndex = gridView.SelectedRows[0].Index;
炸毁:
没有可用于显示行的空间
DataGridView 是未绑定模式下的自定义控件。 数据网格视图。FirstDisplayScrollingRowIndex 未在基于 datagridview 的特定事件中设置。
行通过gatagridview添加到数据网格视图中。Rows.Add 方法在 DataSet.EndMerge 上,然后逐行设置单元格的样式和格式。清除并恢复最后选定的行,并将滚动条位置恢复到第一个可见行。
尝试找出此异常的实际含义。
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 高度(或可能是宽度(并且您设置
dataGridView.FirstDisplayedScrollingRowIndex = 0;
将引发异常。我们的网格已经设置了Dock = Fill
,在某些情况下,其大小是看不见的。
我们的解决方法是将 MinimumSize 设置为 100/50,我们再也没有看到异常。即使网格不在窗口内(因此不可见(,现在也不会引发异常。
当网格中存在行但不可见时,将其设置为第一行将引发此异常。