Foxtable(狐表)用户栏目专家坐堂 → 请教:在DataList中,怎样才能禁止单击表头排序?


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

主题:请教:在DataList中,怎样才能禁止单击表头排序?

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
请教:在DataList中,怎样才能禁止单击表头排序?  发帖心情 Post By:2009/5/27 23:27:00 [只看该作者]

    这几天我在研究流水账的问题。发现有一个小问题,我把流水账绑定在DataList中,并缺省以日期排序。显示的是正确的结果。但这时候存在一个问题,即在DataList中单击表头会重新排序,这项功能本来是非常方便的。但在流水账中,这项功能却会帮倒忙,因为在流水账中根本不应该允许随便乱排序,否则会添乱的。所以,我希望在DataList中有一项属性:即是否允许单击表头排序,这样就能灵活的解决这个问题。

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/27 23:59:00 [只看该作者]

Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst.RowSort  = ""

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/28 0:12:00 [只看该作者]

以下是引用mr725在2009-5-27 23:59:00的发言:
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst.RowSort  = ""

我的意思不是恢复不排序前的样子,而是经过设置可以使单击表头排序的功能失效,即设置后单击表头时不能有任何反应。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/28 0:19:00 [只看该作者]

是这样的,设置好后不会有排序方面的任何反映~  单击表头的排序功能当然会失效哦~ 


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/5/28 0:24:00 [只看该作者]

以下是引用mr725在2009-5-28 0:19:00的发言:

是这样的,设置好后不会有排序方面的任何反映~  单击表头的排序功能当然会失效哦~ 

谢谢,我试试!


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
[原创] 出售中医体质辨识系统(适用于医疗机构)  发帖心情 Post By:2009/5/28 0:26:00 [只看该作者]

MouseMove


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


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/5/28 0:39:00 [只看该作者]

我觉得放到MouseUp中比放到MouseMove要合适.
另外代码也可以写成这样。
e.Sender.RowSort  = ""

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/28 0:57:00 [只看该作者]

以下是引用八婺在2009-5-28 0:39:00的发言:
我觉得放到MouseUp中比放到MouseMove要合适.
另外代码也可以写成这样。
e.Sender.RowSort  = ""

有理~ 


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
[求助]  发帖心情 Post By:2009/5/28 7:32:00 [只看该作者]

以下是引用mr725在2009-5-27 23:59:00的发言:
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst.RowSort  = ""

   把这个代码写在鼠标的事件中,虽然可以使鼠标的按钮排序功能失效,但同时会把DataList的顺序恢复成没有排序的样子(即在DataTable中的样子),这不是我想要的样子。

    在此基础上我改进了一下,例如我在表中想始终以日期排序的,把上述代码改为:
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst.RowSort  = "日期"

,并放在DataList的MouseUp事件中,这样,不管在哪儿单击鼠标,都按缺省的排序方式(本例中按日期排序),即可解决问题。


 回到顶部