以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 按住鼠标左键拖动 ,选中的行在复选框自动变成选中状态 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76069)
|
-- 作者:sf020cf
-- 发布时间:2015/10/21 10:51:00
-- 按住鼠标左键拖动 ,选中的行在复选框自动变成选中状态
我想按住鼠标左键拖动选中多行时 行前的复选框自动变成选中状态 能否做到实时响应
|
-- 作者:大红袍
-- 发布时间:2015/10/21 10:56:00
--
AfterSelRangeChange 事件
If e.Table.BottomPosition - e.Table.TopPosition >= 1 Then For i As Integer = e.Table.TopPosition To e.Table.BottomPosition e.Table.Rows(i).Checked = True Next End If
|
-- 作者:sf020cf
-- 发布时间:2015/10/21 11:48:00
--
如果拖动时多出一行 回拉 行前的选中状态并没有因为i的数值变化而变化
|
-- 作者:大红袍
-- 发布时间:2015/10/21 11:54:00
--
If math.abs(e.Table.BottomPosition - e.Table.TopPosition) >= 1 Then For i As Integer = e.Table.TopPosition To e.Table.BottomPosition e.Table.Rows(i).Checked = True Next End If
|
-- 作者:sf020cf
-- 发布时间:2015/10/21 12:04:00
--
出现一个问题 目录树点选节点时提示索引超出范围
|
-- 作者:大红袍
-- 发布时间:2015/10/21 12:11:00
--
你确定是4楼代码的问题么?不可能有错。
|
-- 作者:sf020cf
-- 发布时间:2015/10/21 12:34:00
--
此主题相关图片如下:2015-10-21_123423.jpg
|
-- 作者:sf020cf
-- 发布时间:2015/10/21 12:45:00
--
再描述清晰点 ,用代码If math.abs(e.Table.BottomPosition - e.Table.TopPosition) >= 1 Then For i As Integer = e.Table.TopPosition To e.Table.BottomPosition e.Table.Rows(i).Checked = True Next End If
使用情况是 我按住鼠标左键拖动选中行 行前复选随之响应选中 但我在没有松开鼠标左键回拉时 (假如原来是5行最终我回拉了只选中3行) 行前复选选中依然是5行并未是最终的三行 加入这段代码后 目录树 不可显示所有订单 我想是否是焦点问题 去掉代码 问题解决
|
|
-- 作者:sf020cf
-- 发布时间:2015/10/21 14:10:00
--
最新结果 追然有提示错误 目录树点选节点依然有效 但需要忽略索引超出范围
|
-- 作者:大红袍
-- 发布时间:2015/10/21 14:12:00
--
代码
If math.abs(e.OldRange.TopRow - e.OldRange.BottomRow) >= 1 Then If e.OldRange.BottomRow >= e.Table.Rows.count Then Return For i As Integer = e.OldRange.TopRow To e.OldRange.BottomRow e.Table.Rows(i).Checked = False Next For i As Integer = e.Table.TopPosition To e.Table.BottomPosition e.Table.Rows(i).Checked = True Next End If
|