回复 2楼Alice的帖子
已经实现了。呵呵。
谢谢回复!
还有个特点就是当末行已经是选中状态时,不管点击行数据部分还是RecordSelector部分,都不滚动。
具体方法如下:
定义一个intCurrentRow,
在WndProc里,intCurrentRow = grid.Row,
这样就保持了点击之前的当前选中行
在grid的click事件里,判断点击时鼠标位置。
分两种情况,1点击数据行部分,2点击RecordSelectors部分
判读的位置不一样。
然后用CellContaining方法,取得点击的行号。
(位置情况2时,CellContaining方法参数1 e.X要加RecordSelectorWidth,否则就取不到了)
如果cellcontaining是true,判断intCurrentRow是否等于取得的行号
不等时,grid.scroll(0,1)
以上。 |