ker*_*ros 67 c# scroll datagridview selected winforms
我需要强制DataGridView显示所选row.
简而言之,我有一个根据键入的内容textbox更改DGV选择textbox.发生这种情况时,选择会更改为匹配row.
不幸的是,如果所选row内容不在视图中,我必须手动向下滚动才能找到所选内容.有谁知道如何强制DGV显示所选row?
谢谢!
com*_*ech 116
你可以设置:
dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.SelectedRows[0].Index;
Run Code Online (Sandbox Code Playgroud)
以下是此属性的MSDN文档.
小智 46
这个滚动到选定的行而不将其放在顶部.
dataGridView1.CurrentCell = dataGridView1.Rows[index].Cells[0];
Run Code Online (Sandbox Code Playgroud)
Geo*_*org 22
还要考虑这段代码(使用来自competent_tech建议的方式):
private static void EnsureVisibleRow(DataGridView view, int rowToShow)
{
if (rowToShow >= 0 && rowToShow < view.RowCount)
{
var countVisible = view.DisplayedRowCount(false);
var firstVisible = view.FirstDisplayedScrollingRowIndex;
if (rowToShow < firstVisible)
{
view.FirstDisplayedScrollingRowIndex = rowToShow;
}
else if (rowToShow >= firstVisible + countVisible)
{
view.FirstDisplayedScrollingRowIndex = rowToShow - countVisible + 1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
Fis*_*aen 10
只需在选择行后放置该行:
dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.SelectedRows[0].Index;
Run Code Online (Sandbox Code Playgroud)