yinzhm 发表于 2014-7-17 21:15:00

关于Shift+Up/Down的一点需求

好!
MultiRow For WinForms7.0
以Shift Down为例说明:
目前SelectionActions中提供的的ShiftDown动作不太符合我的需求,自己重写了一下,不是很满意,请教版主。

需求:Shift Down按下后,将下一行添加到Selection集合中,同时让该集合中最下面一行作为活动行。(SelectionActions中的动作,始终使集合中第一行为活动行,添加CurrentRowBorderLine效果比较明显)
eg:
Dim intSelectCount As Integer = target.SelectedRows.Count
                  target.CurrentCellPosition = New CellPosition(target.CurrentRow.Index + 1, 1)
                  For intSelectIndx As Integer = target.CurrentRow.Index To target.CurrentRow.Index - intSelectCount Step -1
                        target.AddSelection(intSelectIndx)
                  Next
上面例子有问题,每次需要先将活动行移动的下一行,然后循环把前面的所有行添加的集合中。有如下问题:
(1)当数据量大的时候,循环比较耗时。
(2)移动活动行的时候(通过CurrentCellPosition),会自动把Selection集合清空,导致这一瞬间,所有选中行的变为非选中状态,颜色变为非选中状态的颜色(白色)。
然后,我循环又把他们加到了Selection集合中,这时他们又变成的选中状态,显示选中色。
这期间,会明显的感觉到画面的闪烁,白蓝之间切换。尤其是选择行超过一页,翻页的时候,最明显。

斑竹有什么好的建议,不吝赐教!

yinzhm 发表于 2014-7-21 10:31:00

回复 1楼yinzhm的帖子

求助高手啊!

Alice 发表于 2014-7-21 11:30:00

回复 1楼yinzhm的帖子

你好,这个问题我们已经收到了。
现在交给产品组处理当中,会尽快给你回复。
你要是有好的想法也欢迎反馈给我们。
页: [1]
查看完整版本: 关于Shift+Up/Down的一点需求