以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 在DataList中怎样通过鼠标拖动选择连续的多行? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2972) |
-- 作者:cpayinyuan -- 发布时间:2009/5/31 13:50:00 -- 在DataList中怎样通过鼠标拖动选择连续的多行? 在DataList中,可以通过点击选择框的方式选择一行或者多行,但是,在DataList中,若要选择连续的100行,如果用鼠标一个一个来点,恐怕就效率太低太不方便了!既然是连续的多行,如果能够通过鼠标拖动自动把鼠标拖动的连续多行的选择框自动设为True,就比较方便高效了。系统中没有这个功能,DataList中只有鼠标移动的事件没有鼠标拖动的事件,请教一下这个功能能否通过事件代码来实现? [此贴子已经被作者于2009-5-31 13:56:11编辑过]
|
-- 作者:八婺 -- 发布时间:2009/5/31 14:53:00 -- 在窗口插入一个复选框控件。 DataList的CurrentChanged事件代码。
[此贴子已经被作者于2009-5-31 14:53:10编辑过]
|
-- 作者:八婺 -- 发布时间:2009/5/31 14:57:00 -- 狐表能开发Photoshop滤镜吗?? 也可以这样。 Dim dst As WinForm.DataList = e.Sender Dim dr as DataRow = e.Sender.Current if e.Form.Controls("CheckBox1").Checked = true Then dst.SetChecked(dst.Position,True) Else dst.SetChecked(dst.Position,false) End If 独立和模式窗口,这个功能要老六消灭5.25版本的bug才行。 [此贴子已经被作者于2009-5-31 14:58:45编辑过]
|
-- 作者:cpayinyuan -- 发布时间:2009/5/31 16:02:00 -- 谢谢! |
-- 作者:yangming -- 发布时间:2009/5/31 16:21:00 -- 又学了一招,呵呵 |
-- 作者:cpayinyuan -- 发布时间:2009/5/31 16:36:00 -- 以下是引用八婺在2009-5-31 14:57:00的发言:
也可以这样。 Dim dst As WinForm.DataList = e.Sender Dim dr as DataRow = e.Sender.Current if e.Form.Controls("CheckBox1").Checked = true Then dst.SetChecked(dst.Position,True) Else dst.SetChecked(dst.Position,false) End If 独立和模式窗口,这个功能要老六消灭5.25版本的bug才行。 [此贴子已经被作者于2009-5-31 14:58:45编辑过] 总是提示找不到选择框,估计是5月25号版本的Bug,期待贺老师尽快消灭此BUG。 [此贴子已经被作者于2009-5-31 21:55:19编辑过]
|
-- 作者:cpayinyuan -- 发布时间:2009/6/1 8:49:00 -- 补充: 即建议给DataList增加两个属性: (1)鼠标拖动是否自动选择; (2)是否多选(还是单选) |
-- 作者:狐狸爸爸 -- 发布时间:2009/6/1 8:53:00 -- 我看看 |
-- 作者:cpayinyuan -- 发布时间:2009/6/1 11:36:00 -- 另外,用鼠标拖动选择行的时候,当拖动一次的时候,应把其他的选择框的选定状态全部清空(即把以前通过鼠标点击或者拖动选定的所有选择框的选定状态清空),即在DataList中多次拖动的时候,应只把最后一次拖动的行的选择框设为True,其他的行的选择框全部设为false.(类似于在table中用鼠标拖动选择多行的操作方式). |
-- 作者:卟离卟弃 -- 发布时间:2009/6/1 15:16:00 -- 好计策。。。。。 支持狐爸想想办法。。 |