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;
    }
}

最佳答案

当网格中存在行但不可见时,将其设置为第一行将使其抛出此异常。

09-25 17:04
查看更多