折腾二天,你不按照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. WPF create Flower shape

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. neo4j-图数据库

    neo4j是图数据库 初识neo4j,首先我们要知道neo4j是图数据库.我们平常用的数据库一般是RDBMS(关系型数据库),那么什么是图数据库呢?既然有了关系型数据库,那么为什么要有图数据库呢? 1 ...

  3. C# 开发工具Visual Studio 介绍

    Visual Studio Community (社区版) 这个版本的 Visual Studio 是免费的,具备以前 Professional 版的功能.使用时间有许可限制.它对开源项目和培训.学术 ...

  4. 深入了解SSH

    学习:深入了解SSH ssh 有商业和开源版本,其中openssh是开源中最流行的. ssh历史 1995 年 7 月, 芬兰学者Tatu Ylonen 以免费软件的形式将一套保护信息传输的程序(也就 ...

  5. RockyLinux9编译安装MySQL5.7

    Linux版本: Rocky Linux release 9.5 (Blue Onyx) 1.下载 打开MySQL-Community-Server官方下载页面:https://downloads.m ...

  6. 凸n边形的对角线最多能将其内部分成几个区域

    https://math.stackexchange.com/questions/3384251/into-how-many-regions-do-the-sides-and-diagonals-of ...

  7. Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能

    大家好,我是编程乐趣. 我们都知道,要实现对结构化的数据(文本)搜索是比较容易的,但是对于非结构化的数据,比如图片,视频就没那么简单了. 但是现在有了AI模型,实现图片分类.搜索等功能,就变得容易很多 ...

  8. oracle goldengate for downstreams 配置--for 数据库参数配置和ogg进程参数配置

    1.整体数据库配置三个源端和一个downstream下游抽取数据库配置:alter system set enable_goldengate_replication=TRUE;Alter databa ...

  9. DataV过滤器

    人才库: return data.filter(function (item) { return item.职级 === ''; }) 区县分析:   //一级指标 const t = Object. ...

  10. RocketMQ实战—6.生产优化及运维方案

    大纲 1.RocketMQ集群如何进行权限机制的控制 2.如何对RocketMQ集群进行消息堆积的追踪 3.如何处理RocketMQ的百万消息积压问题 4.针对RocketMQ集群崩溃的金融级高可用方 ...