![]() |
1
8
如果你只想保持位置: 在任何函数更改数据时,首先捕获所选索引
以及滚动位置
运行更改数据的代码,然后向后执行上述步骤:
哦,你可能会想做一个检查,以确保所选的索引不超过现在在你的DG中的项目长度,如果是,选择最后一个。根据我的经验,将垂直滚动位置设置为大于最大值只会导致滚动到最大值。 |
![]() |
2
2
有办法。您需要扩展DataGrid类并添加一个字符串属性uniqueidField。 将uniqueidField的值设置为数据集中唯一对象的属性。 然后重写set dataprovider方法,如下所示: 如果列没有排序,这将起作用。固定* 我现在有一个问题,当对列进行排序时,正确的行高亮显示,但滚动条不MVE到值(因为影响排序的属性之一已更改)。 * 下面的代码将滚动条设置到正确的位置。
super.dataProvider=值;
{
//通知该项已被选中、找到或为空 this.verticalscrollposition=vscroll; DispatchEvent(New ListEvent(ListEvent.Change)); } |