Foxtable(狐表)用户栏目专家坐堂 → 窗口中的Table,如何禁用 “Ctrl+鼠标单击表头”排序的功能?


  共有21267人关注过本帖树形打印复制链接

主题:窗口中的Table,如何禁用 “Ctrl+鼠标单击表头”排序的功能?

帅哥哟,离线,有人找我吗?
cpayinyuan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
窗口中的Table,如何禁用 “Ctrl+鼠标单击表头”排序的功能?  发帖心情 Post By:2010/6/8 19:03:00 [显示全部帖子]

如题,有时候,在Table中必须要禁用Ctrl+单击表头排序功能。例如在流水账中,需要严格按日期排序,如果允许单击表头排序会使流水账的顺序变得非常混乱。以前在DataList中的时候,DataList有MouseUp,MouseDown,MouseEnter,MouseLeave,MouseHover等事件,可以在这些事件中把鼠标单击的动作拦截住。现在改用Table控件,在Table中没有找到这些事件,不知如何实现这样的功能?


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/8 19:41:00 [显示全部帖子]

以下是引用czy在2010-6-8 19:27:00的发言:

什么类型的Table?

绑定表吗?

副本型的Table,绑定表。

 

不管是窗口中的Table控件的事件、属性,还是主表的事件、属性,我都没有找到解决的办法。

[此贴子已经被作者于2010-6-8 19:41:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/8 19:47:00 [显示全部帖子]

以下是引用czy在2010-6-8 19:42:00的发言:

看看KeyDown事件。

KeyDown事件处理的是键盘,我现在需要处理的是鼠标,感觉原来DataList中的鼠标相关的事件,在Table控件中被贺老师弄丢了。


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/8 21:35:00 [显示全部帖子]

请贺老师帮忙解答这个问题,这段时间我正在把以前项目中的DataList改造成Table,这个功能我急用。

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/8 22:56:00 [显示全部帖子]

以下是引用程兴刚在2010-6-8 22:24:00的发言:

判断Ctrl键按下,不知可否?

这个似乎不是一个完美的解决办法,Ctrl键按下不一定是Ctrl+单击表头,两者不一样。我认为最好保留原来DataList中的那些与鼠标相关的事件,或者给Table提供一个是否允许单击表头排序的属性也可,或者贺老师能提供其他的替代办法也行。

 

 

[此贴子已经被作者于2010-6-9 8:47:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/8 23:16:00 [显示全部帖子]

    希望贺老师和我都不要用那么多精力来争论一些无关紧要的小问题。现在真正我在使用软件中遇到困难的时候,怎么贺老师反而顾不上帮忙了?


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/9 8:42:00 [显示全部帖子]

   贺老师怎么只顾忙着讨论加密狗的贴子,对使用中遇到的这个难题却顾不上回答呢?

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/9 8:55:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-6-9 8:49:00的发言:

 

其实10楼已经有人告诉你答案了。

 

AllowClickSort

是否允许单击列标题排序。
在默认情况下,单击列标题会选定整列,按住Ctrl键,单击列标题,则根据该列排序。
如果将AllowClickSort属性设为True,那么单击列标题会直接排序,无需按住Ctrl键。

 

 

   根据帮助中的解释,如果将AllowClickSort属性设为True,那么单击列标题会直接排序,无需按住Ctrl键;如果将AllowClickSort属性设为False,Ctrl+单击表头,则根据该列排序。

   根据帮助中的说明,这个设置好像与是否允许单击列标题(或Ctrl+单击)排序无关。不知是我理解有误,还是贺老师没有看清楚我的问题。

 

[此贴子已经被作者于2010-6-9 8:57:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/9 9:10:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-6-9 9:02:00的发言:
那就没有别的办法了

   没有别的办法你让我怎么办?让有同样需求的其他用户怎么办?难道不能想办法改进一下吗?

 

   对于流水账来说,禁用鼠标单击排序是个非常必要的功能。而且我以前用DataList 的时候,完全可以实现这一点,现在就因为取消了DataList 变成了Table,同样的功能难道就没有办法实现了?


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2010/6/9 9:29:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-6-9 9:11:00的发言:
用排序做流水账是乱来的,具体参考帮助中的流水账的例子。

     我又认真看了一下帮助中流水账的例子,发现流水账用的是插入行、移动行的办法。

 

     但是,因为我用排序做流水账,就说是乱来的,我想也太有点武断了吧。据我所知,有许多专业性的财务软件中就没有插入行、移动行的概念,而仅仅是利用排序来处理每一行账目的先后顺序和余额。况且,记得以前的时候,贺老师曾反复强调在数据库中只有增加行没有插入行的概念,插入行也是后来的版本中新增的功能。在以前的版本中,没有插入行移动行的概念,我一直排序的方法做流水账,没有出现过任何错误。在狐表中没有插入行功能的时候,估计大家做的流水账在显示的时候都要借助排序来实现,难道那时候大家做的工作都是乱来的?

 

     其他的问题不关键,言归正传。现在我需要的功能是如何“禁用Table中鼠标单击排序”,这应该不是个大问题。而且,这也不是唯独流水账中才需要的功能,在其他应用中也有类似的情况。有时候表中有严格的顺序,必须严格禁止最终用户用鼠标单击排序。这应该是个合理的、有用的需求,不是我无理取闹,希望贺老师认真考虑一下。

[此贴子已经被作者于2010-6-9 9:35:56编辑过]

 回到顶部
总数 23 1 2 3 下一页