当然,这个 dcoAnsiSort也很重要,否者不按拼音排序

1、首先需要开启  Views的 OptionsCustomize.ColumnSorting

2、再设置每列的这个 Sorting

3、如果设计期间就需要排序,那需要设置这个

SortOrder 的属性, 注意如果你用代码设置 Soring 为 soNone 等属性,那需要引用 dxCore单元

当然如果你在设计期间就需要启用支持多列排序,那你需要设置 SortIndex 的顺序

好了,这样你的程序,在运行期间就可以支持点击cxgrid的表格抬头Header排序了,按上 Ctrl 点击会取消排序列的排序状态,按上Shift会支持多列排序,是不是非常好用,感叹DEV太强大了。

当然,再加一个完美的方案,有的时候客户会乱排序,拍乱了,但我们会给客户提供一个我们默认的排序方案,所以我是在取得数据前先清除当前的排序状态:

//去掉全部排序
//tvDetail.DataController.GetItemByFieldName('ItemID').SortOrder := soNone; for iI := to gridTableView.ColumnCount - do
begin
//soNone 在 dxCore中定义 Uses dxCore
gridTableView.Columns[iI].SortOrder :=soNone;
end;
//然后是你重新取得数据的代码

if ReadDataset(strSQL ,Cds) then
  begin
    //gridTableView.Columns[0].ApplyBestFit();
    edtXh.OnChange(edtXh);
  end else
  begin
    Dm_PowerWy.UDBA.GetLastError(ErrID, ErrMsg);
    ShowMsg_West('出现错误', '无法读取数据!', '错误提示:' +LBR + ErrMsg+LBR+'相关SQL语句:'+strSQL);

end;

好的,就这样了!

关于cxGrid的排序问题的更多相关文章

  1. 编程之美—烙饼排序问题(JAVA)

    一.问题描述 星期五的晚上,一帮同事在希格玛大厦附近的"硬盘酒吧"多喝了几杯.程序员多喝了几杯之后谈什么呢?自然是算法问题.有个同事说:"我以前在餐      馆打工,顾 ...

  2. 关于SQL中的排序问题

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguratio ...

  3. 动态设置和访问cxgrid列的Properties(转)

    原文:http://www.cnblogs.com/hnxxcxg/archive/2010/05/24/2940711.html 动态设置和访问cxgrid列的Properties 设置: cxGr ...

  4. distinct order by 排序问题

    使用类似“SELECT DISTINCT `col` FROM `tb_name` ORDER BY `time` DESC”这样的sql语句时,会遇到排序问题. 以上面的sql语句分析:order ...

  5. cxGrid 增加序号 (非数据库绑定模式) (测试通过)

    cxGrid 增加序号 (非数据库绑定模式) ----------------------------------- 1. 选在 adoQuery 控件 , 鼠标右键菜单中 选择 Fields Edi ...

  6. delphi cxgrid 使用方法

    delphi cxgrid 使用方法1.绑定数据 方法 cxGrid1DBTableView1.DataController.DataSource:=DataSource12.去掉"Drag ...

  7. Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值

    Delphi Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值 cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号 cxGrid1DB ...

  8. cxGrid 速度

    在做AdoHelper实用程序的时候,我用了DevExpress的cxGrid控件.在此之前用的是dbgrid,考虑到不能把所有的数据都拉到本地,我用了动态生成的select top 500的命令.这 ...

  9. CXGrid的使用技巧

    CXGrid的使用技巧 ========================================================================== 在主从TableView中 ...

随机推荐

  1. Codeforces 791B. Bear and Friendship Condition 联通快 完全图

    B. Bear and Friendship Condition time limit per test:1 second memory limit per test:256 megabytes in ...

  2. 显示实现接口的好处c#比java好的地方

    所谓Go语言式的接口,就是不用显示声明类型T实现了接口I,只要类型T的公开方法完全满足接口I的要求,就可以把类型T的对象用在需要接口I的地方.这种做法的学名叫做Structural Typing,有人 ...

  3. Eclipse生成部署描述符(web.xml)

    右键点击你的web项目名--->Java EE Tools-->Generate Deployment  Descriptor Stub 要想自动生成,只需在创建web项目时,把最后一页的 ...

  4. MySQL中的联结表

    使用联结能够实现用一条SELECT语句检索出存储在多个表中的数据.联结是一种机制,用来在一条SELECT语句中关联表,不是物理实体,其在实际的数据库表中并不存在,DBMS会根据需要建立联结,且会在查询 ...

  5. 好像leeceode题目我的博客太长了,需要重新建立一个. leecode刷题第二个

    376. Wiggle Subsequence               自己没想出来,看了别人的分析. 主要是要分析出升序降序只跟临近的2个决定.虽然直觉上不是这样. 455. 分发饼干     ...

  6. IOS初级:story board的跳转

    本文要实现view1跳到view2,view2又跳回view1. 首先要在视图中拉出一条连接view1和view2的线. 下面是在view1的控制器中实现,从view1跳到view2 //发生跳转前会 ...

  7. 20155312 张竞予 2006-2007-2 《Java程序设计》第四周学习总结

    20155312 2006-2007-2 <Java程序设计>第四周学习总结 课堂笔记 Ctrl+shift+T调出三个窗口,分别是"vi编写代码","jav ...

  8. tensorflow下识别手写数字基于MLP网络

    # coding: utf-8 # In[1]: import tensorflow as tf import tensorflow.examples.tutorials.mnist.input_da ...

  9. shell入门练习

    **定义局部变量, 局部变量在退出Shell客户端时会失效** **单引号:原样输出** **双引号:如果里面有变量,会输出变量** **没有引号:输出变量** 可以在调用脚本的时候给脚本传递参数,脚 ...

  10. swift -基础语法

    /**         * 1.变量         */        let count1 = 11;        print(count1);                var count ...