zoukankan      html  css  js  c++  java
  • 关于cxGrid的排序问题

    当然,这个 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 := 0 to gridTableView.ColumnCount -1 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;

    好的,就这样了!

  • 相关阅读:
    CUDA_获取指定设备
    CUDA_常量内存
    CUDA_全局内存及访问优化
    CUDA_共享内存、访存机制、访问优化
    CUDA_寄存器和局部存储器
    CUDA_存储器模型
    CUDA常用概念及注意点
    迅雷笔试题_红黑积木求和
    迅雷笔试题_素勾股数的个数
    【Spring源码分析】Bean的生命周期
  • 原文地址:https://www.cnblogs.com/westsoft/p/8831201.html
Copyright © 2011-2022 走看看