当我在超胜网格中插入一个新行时,滚动位置正在改变如何保持我的滚动位置C#application framework 2.0
答案 0 :(得分:0)
不完全确定你的意思?你可以详细说明/提供更多细节吗?
首先选择任何行(以编程方式或通过单击它)。你添加的任何行都不应该定位位置
还有一种方法可以将特定的行放入视图中(我认为它被称为ScrollIntoView()或BringIntoView(),请查看Infragistics API)。
答案 1 :(得分:0)
据我所知,您希望在刷新或插入新行后选择当前行。您必须将当前活动行索引保留在内存中,然后手动滚动回它。这是一个代码示例
private void btnTestActiveRow_Click(object sender, EventArgs e)
{
var activeIndex = ultraGrid1.ActiveRow.Index; // get the activerow index
scrollPos = ultraGrid1.ActiveRowScrollRegion.ScrollPosition;
ultraGrid1.DataSource = null;
ultraGrid1.DataSource = dal.GetData(); //refreshing the grid
ultraGrid1.ActiveRowScrollRegion.ScrollPosition = scrollPos;
ultraGrid1.Rows[activeIndex].Activate();
ultraGrid1.Rows[activeIndex].Selected = true;
}
答案 2 :(得分:0)
if(grd.ActiveRow != null)
{
grd.Refresh();
grd.ActiveRowScrollRegion.ScrollRowIntoView(grd.ActiveRow);
grd.ActiveColScrollRegion.ScrollRowIntoView(grd.ActiveRow, grd.ActiveRowScrollRegion);
}
滚动到当前的ActiveRow。