1、滚动条保持原来位置
A方案
int topIndex = -1;
private void gridView2_TopRowChanged(object sender, EventArgs e)
{
topIndex = gridView2.TopRowIndex;
}
private void refreshView2()
{
string sql = "select * from [A数据分析表]";
DataTable dt= db.GetTable(sql);
gridControl2.DataSource = dt;
gridView2.TopRowIndex = topIndex;//就是这句
}
private void button1_Click(object sender, EventArgs e)
{
refreshView2();
}
B方案
int k1 = gridView_TheAll.FocusedRowHandle;
gridControl_TheAll.DataSource = null;
gridControl_TheAll.DataSource = Core_GetData();
gridView_TheAll.FocusedRowHandle = k1
2、自动翻页到最后一行
this.gridView2.FocusedRowHandle = this.gridView2.DataRowCount - 1;//焦点转移到最后一行
gridView2.SelectRow(gridView2.RowCount - 1);
该篇博客探讨了两种方法来实现数据刷新时保持滚动条位置。A方案通过保存和恢复TopRowIndex来维持滚动条位置。B方案则关注于在数据源变更后将焦点重新定位到之前的位置,尤其是自动滚动到数据的最后一行。这些技巧对于UI交互的平滑性和用户体验至关重要。
2091

被折叠的 条评论
为什么被折叠?



