设置 gridView.FirstDisplayedScrollingRowIndex 时获取 "No room is available to display rows"
Getting "No room is available to display rows" when setting gridView.FirstDisplayedScrollingRowIndex
gridView.FirstDisplayedScrollingRowIndex = gridView.SelectedRows[0].Index;
爆炸:
No room is available to display rows
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;
}
}
当网格中存在行但不可见时,将其设置为第一行将使其抛出此异常。
当网格自动调整为 0 高度(或可能宽度)并且您设置时
dataGridView.FirstDisplayedScrollingRowIndex = 0;
将抛出异常。我们的网格已设置 Dock = Fill
,并且在某些情况下被调整为不可见。
我们的修复是将 MinimumSize 设置为 100/50,我们再也没有看到异常。即使网格不在 window 内(因此不可见),现在也不会抛出异常。
gridView.FirstDisplayedScrollingRowIndex = gridView.SelectedRows[0].Index;
爆炸:
No room is available to display rows
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;
}
}
当网格中存在行但不可见时,将其设置为第一行将使其抛出此异常。
当网格自动调整为 0 高度(或可能宽度)并且您设置时
dataGridView.FirstDisplayedScrollingRowIndex = 0;
将抛出异常。我们的网格已设置 Dock = Fill
,并且在某些情况下被调整为不可见。
我们的修复是将 MinimumSize 设置为 100/50,我们再也没有看到异常。即使网格不在 window 内(因此不可见),现在也不会抛出异常。