【发布时间】:2018-10-17 08:34:50
【问题描述】:
我有一个作为 DataGridView 数据源的 DataTable
private readonly DataTable _processTable = new DataTable();
ProcessDataGrid.DataSource = _processTable;
我有一个填充此 DataTable 的方法(这样做会填充 DataGridView)
private void PopulateDataTable()
{
var processes = Process.GetProcesses();
foreach(var process in processes)
{
_processTable.Rows.Add(process.ProcessName);
}
}
我还有一个按钮,按下时会调用PopulateDataTable
private void RefreshButton_Click(object sender, System.EventArgs e)
{
_processTable.Rows.Clear();
// Refresh the process list
PopulateDataTable();
}
单击RefreshButton 时,数据源将被清除并正确更新,但是,它会选择列表一半左右的行并滚动到DataGridView 中的该值。
我想防止这种情况发生,以便在单击按钮时,数据源会像当前一样更新,但是,DataGridView 中的 no row in 自动滚动到(用户相对于滚动条的当前位置不变。)
我怎样才能做到这一点?
【问题讨论】:
标签: c# winforms datagridview datatable