找回密码
 立即注册

QQ登录

只需一步,快速开始

yinzhm

初级会员

32

主题

129

帖子

339

积分

初级会员

积分
339

活字格认证微信认证勋章

yinzhm
初级会员   /  发表于:2014-7-17 21:15  /   查看:5186  /  回复:2
好!
MultiRow For WinForms  7.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集合中,这时他们又变成的选中状态,显示选中色。
这期间,会明显的感觉到画面的闪烁,白蓝之间切换。尤其是选择行超过一页,翻页的时候,最明显。

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

2 个回复

倒序浏览
yinzhm
初级会员   /  发表于:2014-7-21 10:31:00
沙发
回复 1楼yinzhm的帖子

求助高手啊!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-7-21 11:30:00
板凳
回复 1楼yinzhm的帖子

你好,这个问题我们已经收到了。
现在交给产品组处理当中,会尽快给你回复。
你要是有好的想法也欢迎反馈给我们。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部