我正在使用自己的扩展System.Windows.Forms.Datagrid
...问题是当添加行时,控件无法正确滚动到底部。
这是我使用的代码段:
if (filasAInsertar.Length > 0)
{
int row_count = niceDataGridDesvios.getVisibleRowsCount(niceDataGridDesvios.Parent) - 1;
ExtendedDataGrid extendedDataGrid = niceDataGridDesvios.dataGrid;
extendedDataGrid.getScrollBar().Value = extendedDataGrid.getScrollBar().Maximum;
niceDataGridDesvios.dataGrid.selectFullRow(row_count);
}
这段代码使滚动条运行在底部,但是内容始终在顶部。...关于如何使其变得更好的任何想法?已经尝试了.performLayout()
和.Refresh()
,得到了相同的结果。
希望你们能帮助我
要设置a的当前行System.WindowsForms.DataGrid
并滚动到该行,您可以使用CurrentRowIndex
属性:
datGrid1.CurrentRowIndex = 50;
例如,滚动到最后一行:
datGrid1.CurrentRowIndex = d.BindingContext[datGrid1.DataSource].Count - 1;
CurrentCell
如果设置CurrentCell
,DataGridView
则选择指定的单元格并滚动以使该单元格可见。
例如,选择最后一行并滚动到它:
dataGridView1.CurrentCell = dataGridView1.Rows[this.dataGridView1.RowCount - 1].Cells[0];
FirstDisplayedScrollingRowIndex
您还可以设置FirstDisplayedScrollingRowIndex
滚动到特定行,但不选择该行:
例如,仅滚动到最后一行:
dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.RowCount-1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句