keaitutu 发表于 2015-9-24 10:38:00

MutiRow怎么控制横向滚动条的位置

版主:
我的MutiRow列比较多,有横向滚动条。
点击MutiRow的列头会有一个排序动作,我把滚动条拖到中间的某个位置,点列头排序之后,滚动条的滑动块就跑到最前面去了,刚点击的那列需要把滚动条往后拖才能看到。有没有属性控制横向滚动条的位置,让它在排序之后保持在我刚才放置的位置。

Carl 发表于 2015-9-24 13:45:00

请问你使用的是哪个版本的MultiRow,设置了哪些属性来实现的Sort?
我在我的电脑上试了一下。没有发现这个问题。

如果想要手动设置滚动条的位置,可以使用GcMultiRow的FirstDisplayedCellPosition属性或者FirstDisplayedLocation属性。

Alice 发表于 2015-9-28 16:13:00

回复 1楼keaitutu的帖子

@Carl 谢谢版主的热心回答。

@keaitutu 请问问题解决了么?

keaitutu 发表于 2015-9-30 11:14:00

是7.0版的,之前排序之后设置了FirstDisplayedCellPosition = CurrentCellPosition;
设置这个是是因为数据很多的时候,选中中间一条排序,让画面上不拖动竖向滚动条就能看到这条数据。不设置的话,排序之后需要拖动竖向滚动条才可以看到。
结局就是不管点哪列,CurrentCellPosition里面的CellIndex都是1,所以不会保持在原来的位置。
现在想让排序后竖向滚动条滚动条选中的数据的那一屛,横向滚动条是不动的,可以实现吗?

Carl 发表于 2015-9-30 13:39:00

在设置 FirstDisplayedCellPosition = CurrentCellPosition 之前,取得当前的 FirstDisplayedLocation 的X坐标
在设置 FirstDisplayedCellPosition = CurrentCellPosition 之后,修改 FirstDisplayedLocation,让其Y坐标保持不变,X坐标改为原来的值。

keaitutu 发表于 2015-9-30 14:23:00

谢谢了,按照版主的提示已经解决。

iceman 发表于 2015-9-30 16:28:00

回复 6楼keaitutu的帖子

客气了,本问题关闭了。
页: [1]
查看完整版本: MutiRow怎么控制横向滚动条的位置