以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:在DataList中,怎样才能禁止单击表头排序?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=2932)

--  作者:cpayinyuan
--  发布时间:2009/5/27 23:27:00
--  请教:在DataList中,怎样才能禁止单击表头排序?
    这几天我在研究流水账的问题。发现有一个小问题,我把流水账绑定在DataList中,并缺省以日期排序。显示的是正确的结果。但这时候存在一个问题,即在DataList中单击表头会重新排序,这项功能本来是非常方便的。但在流水账中,这项功能却会帮倒忙,因为在流水账中根本不应该允许随便乱排序,否则会添乱的。所以,我希望在DataList中有一项属性:即是否允许单击表头排序,这样就能灵活的解决这个问题。
--  作者:mr725
--  发布时间:2009/5/27 23:59:00
--  
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst.RowSort  = ""

--  作者:cpayinyuan
--  发布时间: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
--  发布时间:2009/5/28 0:19:00
--  

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


--  作者:cpayinyuan
--  发布时间:2009/5/28 0:24:00
--  
以下是引用mr725在2009-5-28 0:19:00的发言:

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

谢谢,我试试!


--  作者:mr725
--  发布时间:2009/5/28 0:26:00
--  [原创] 出售中医体质辨识系统(适用于医疗机构)

MouseMove


--  作者:八婺
--  发布时间:2009/5/28 0:39:00
--  
我觉得放到MouseUp中比放到MouseMove要合适.
另外代码也可以写成这样。
e.Sender.RowSort  = ""

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

有理~ 


--  作者:cpayinyuan
--  发布时间: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事件中,这样,不管在哪儿单击鼠标,都按缺省的排序方式(本例中按日期排序),即可解决问题。