折腾二天,你不按照demo里的代码来,就是没有效果。功力不够导致的。学习学习再学习!努力努力再努力!

procedure TUniGridsGroupingSorting.UniDBGrid1MultiColumnSort(
Columns: TUniDBGridColumnArr; Directions: TUniSortDirections);
var
OrderStr : string;
I : Integer;
begin
UniMainModule.ADOQuery5
.Close;//必须在UniMainModule
OrderStr := 'select * from [Customers]' + ' order by '; for I := Low(Columns) to High(Columns) do
begin
OrderStr := OrderStr + '['+Columns[I].FieldName+ '] '+IfThen(Directions[I], 'ASC', 'DESC')+','; end; OrderStr := RemoveTrailingChar(OrderStr, ','); UniMainModule.ADOQuery5.SQL.Text := OrderStr;
UniMainModule.ADOQuery5.Open;
end;

其二、点击列排序:

 procedure TUniGridsColumnSort.SortColumn(const FieldName: string; Dir: Boolean);
begin
if Dir then
ClientDataSet1.IndexName := FieldName+'_index_asc'
else
ClientDataSet1.IndexName := FieldName+'_index_des';
end; procedure TUniGridsColumnSort.UniDBGrid1ColumnSort(Column: TUniDBGridColumn;
Direction: Boolean);
begin
SortColumn
(Column.FieldName, Direction);//必须分开写调用
end;

看明白没,必须按这种格式,分开写。否则就是不行。作者没有说明why?再WEB中这处理的理由,你知道WHY?

实际上非常简单:

1、创建内存表TFDMemTable

procedure TUniForm_SelectAPanient.UniFormCreate(Sender: TObject);
var i : Integer;
begin
UniMainModule.fdqry_QueryPatient.Open('select * from patient_info'); //符合条件的患者资料
fdmtbl_QueryPatient.CopyDataSet(UniMainModule.fdqry_QueryPatient, [coStructure, coRestart, coAppend]);
fdmtbl_QueryPatient.Filter := '';
fdmtbl_QueryPatient.IndexesActive := True;
UniMainModule.fdqry_QueryPatient.Close;
end;

2、改变index

procedure TUniForm_SelectAPanient.undbgrd1MultiColumnSort(
Columns: TUniDBGridColumnArr; Directions: TUniSortDirections);
var
i : integer;
OrderStr : string;
begin
OrderStr := '';
for I := Low(Columns) to High(Columns) do
begin
OrderStr := OrderStr + Columns[I].FieldName+ IfThen(Directions[I], ':A', ':D')+';';
end;
Delete(OrderStr, Length(OrderStr), 1);
fdmtbl_QueryPatient.IndexFieldNames := OrderStr;
end;

good luck!

学习unigui【18】unidbgrid的GridsGroupingSorting的更多相关文章

  1. UniGUI 之UniDBGrid(05)

    UniGUI 之UniDBGrid(05) 目录1]DataSource设置2]显示MEMO类型里的文字3]显示悬浮提示4]显示当前记录及总记录数5]读取所有记录,及分页6]在前面加上序号列7]不显示 ...

  2. Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel

    Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel Ext.Net GridPanel 有两种编辑模式:编辑单元格和编辑行. 单元格编辑: 行编辑: 可以看出,单元格编辑的时候,只 ...

  3. SQL反模式学习笔记18 减少SQL查询数据,避免使用一条SQL语句解决复杂问题

    目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如 ...

  4. golang学习笔记18 用go语言编写移动端sdk和app开发gomobile

    golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...

  5. springmvc学习笔记(18)-json数据交互

    springmvc学习笔记(18)-json数据交互 标签: springmvc springmvc学习笔记18-json数据交互 springmvc进行json交互 环境准备 加入json转换的依赖 ...

  6. cocos2d-x学习笔记(18)--游戏打包(windows平台)

    cocos2d-x学习笔记(18)--游戏打包(windows平台)           之前做好的游戏,都是在vs2008下编译执行的.假设说想把游戏公布到网上或者和其它人一起分享游戏,那就得对游戏 ...

  7. C语言实例解析精粹学习笔记——18

    <C语言实例解析精粹>中编译环境采用的是Turbo C 2.0.但是这个编译器年代久远,较新的编译器对书中的某些例子支持不好,在学习的时候同时做一些笔记. 实例18:将一个无符号整数转换为 ...

  8. tornado学习笔记18 _RequestDispatcher 请求分发器

    根据Application的配置,主要负责将客户端的请求分发到具体的RequestHandler.这个类实现了HTTPMessageDelegate接口. 18.1 构造函数 定义: def __in ...

  9. Hadoop学习笔记—18.Sqoop框架学习

    一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...

  10. iOS阶段学习第18天笔记(Plist-Archiver-归档与解归档操作)

    iOS学习(OC语言)知识点整理 一.归档与解归档的操作 1)归档是一个过程,将一个或多个对象存储起来,以便以后可以还原,包括将对象存入文件,以后再读取 将数据对象归档成plist文件 2)plist ...

随机推荐

  1. nginx平台初探-2

    handler模块简介 相信大家在看了前一章的模块概述以后,都对nginx的模块有了一个基本的认识.基本上作为第三方开发者最可能开发的就是三种类型的模块,即handler,filter和load-ba ...

  2. excel表格里面数据统计有几个(相同的算1个)

    例如:1 2 3 4 5 6 7 1 2 3 统计出来的结果 是 7个! 相同的算1个. 假设数据在A1:A10区域内,在B1单元格中显示结果,则在B1单元格中输入公式: =SUMPRODUCT(1/ ...

  3. 微服务测试 Dubbo 接口测试

    微服务测试 Dubbo 接口测试 URL:https://blog.csdn.net/qq_35759632/article/details/80832932 微服务测试 ----Dubbo 接口测试 ...

  4. ubuntu mysql 通过ip登录指南

    详细步骤: 1. 安装mysql 首先,在ubuntu上安装mysql,打开终端,并执行以下命令: 1 sudo apt-get update 2 sudo apt-get install mysql ...

  5. 使用PythonDEAP库实现简单遗传算法

    ​ 本人博客食用体验更佳哦 DEAP(Distributed Evolutionary Algorithms in Python)是一个用于快速原型设计和实验的进化计算框架.它支持多种进化算法,包括遗 ...

  6. linux:lamp环境

    关于LAMP LAMP搭建 安装php和Apache 先装php,因为安装php有apache的依赖包 yum install php 启动Apache service httpd start 启动成 ...

  7. Sybaris pg walkthrough Intermediate 从redis 到 rce

    nmap ┌──(root㉿kali)-[~/lab] └─# nmap -p- -A 192.168.166.93 Starting Nmap 7.94SVN ( https://nmap.org ...

  8. 在nginx上搭建php服务

    不同的操作系统会有不一样 我这里用的是centos系统 首先下载 yum install php php-fpm php-mysqlnd php-gd php-mbstring 其次我们需要修改配置文 ...

  9. vscode python remote debug极速入门

    本文适用范围 主要适用于debug python 程序,尤其是深度学习刚入门需要使用remote 连接到linux进行程序运行,想调试一下的同学. 当然非深度学习也可以参考食用本文哈哈哈. 极速入门版 ...

  10. 什么是OpenStack?

    OpenStack是一个云平台管理的项目,它不是一个软件,它是由几个主要的组件组合起来,为公有云.私有云和混合云的建设与管理提供软件的开源项目.现在已经有来自100多个国家的数万名个人和200多家企业 ...