You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DevExpress中如何滚动GridView定位至FocusedRowHandle选中行

DevExpress GridView 自动滚动到选中行实现方案

针对通过FocusedRowHandle标记焦点行、SelectRow方法选中行两种场景,直接调用控件内置方法即可实现滚动条自动定位到目标行的效果,不需要手动计算滚动条偏移量。
自动滚动到选中行效果示意图

具体实现代码

场景1:定位FocusedRowHandle指定的焦点行

设置完焦点行句柄后,调用MakeRowVisible方法传入行句柄,控件会自动调整纵向滚动条位置,让目标行显示在可视区域内:

// 替换为你实际要定位的行句柄
int targetRowHandle = 10;
// 设置焦点行
gridView1.FocusedRowHandle = targetRowHandle;
// 核心方法:自动滚动到目标行位置
gridView1.MakeRowVisible(targetRowHandle);

如果需要让目标行显示在可视区域的居中位置,可以追加配置:

gridView1.OptionsBehavior.NavigationToLastRowOnExpand = true;
gridView1.Focus();

场景2:定位SelectRow方法选中的行

多选模式下用SelectRow选中行后,先获取需要定位的目标选中行句柄,再调用MakeRowVisible即可,以下示例定位到第一个选中行:

// 选中目标行
gridView1.SelectRow(targetRowHandle);
// 获取选中行集合,取需要定位的行句柄即可,示例取第一个选中行
int[] selectedHandles = gridView1.GetSelectedRows();
if (selectedHandles.Length > 0)
{
    gridView1.MakeRowVisible(selectedHandles[0]);
}

注意事项:

  • 如果目标行位于折叠的分组、或者主从表的折叠从表中,MakeRowVisible会自动展开对应的分组/从表行,不需要额外编写展开逻辑。
  • 如果在数据绑定DataBind()方法执行前调用MakeRowVisible会不生效,需要等绑定完成、GridView行加载完成后再调用定位逻辑。

内容的提问来源于stack exchange,提问作者fatmanurbutunerr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 02:21:16