学习unigui【18】unidbgrid的GridsGroupingSorting
折腾二天,你不按照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的更多相关文章
- UniGUI 之UniDBGrid(05)
		UniGUI 之UniDBGrid(05) 目录1]DataSource设置2]显示MEMO类型里的文字3]显示悬浮提示4]显示当前记录及总记录数5]读取所有记录,及分页6]在前面加上序号列7]不显示 ... 
- Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel
		Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel Ext.Net GridPanel 有两种编辑模式:编辑单元格和编辑行. 单元格编辑: 行编辑: 可以看出,单元格编辑的时候,只 ... 
- SQL反模式学习笔记18  减少SQL查询数据,避免使用一条SQL语句解决复杂问题
		目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如 ... 
- golang学习笔记18 用go语言编写移动端sdk和app开发gomobile
		golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ... 
- springmvc学习笔记(18)-json数据交互
		springmvc学习笔记(18)-json数据交互 标签: springmvc springmvc学习笔记18-json数据交互 springmvc进行json交互 环境准备 加入json转换的依赖 ... 
- cocos2d-x学习笔记(18)--游戏打包(windows平台)
		cocos2d-x学习笔记(18)--游戏打包(windows平台) 之前做好的游戏,都是在vs2008下编译执行的.假设说想把游戏公布到网上或者和其它人一起分享游戏,那就得对游戏 ... 
- C语言实例解析精粹学习笔记——18
		<C语言实例解析精粹>中编译环境采用的是Turbo C 2.0.但是这个编译器年代久远,较新的编译器对书中的某些例子支持不好,在学习的时候同时做一些笔记. 实例18:将一个无符号整数转换为 ... 
- tornado学习笔记18 _RequestDispatcher 请求分发器
		根据Application的配置,主要负责将客户端的请求分发到具体的RequestHandler.这个类实现了HTTPMessageDelegate接口. 18.1 构造函数 定义: def __in ... 
- Hadoop学习笔记—18.Sqoop框架学习
		一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ... 
- iOS阶段学习第18天笔记(Plist-Archiver-归档与解归档操作)
		iOS学习(OC语言)知识点整理 一.归档与解归档的操作 1)归档是一个过程,将一个或多个对象存储起来,以便以后可以还原,包括将对象存入文件,以后再读取 将数据对象归档成plist文件 2)plist ... 
随机推荐
- HBase-4MapReduce
			集成分析 HBase表中的数据最终都是存储在HDFS上,HBase天生的支持MR的操作,我们可以通过MR直接处理HBase表中的数据,并且MR可以将处理后的结果直接存储到HBase表中. 参考地址:h ... 
- EMWIN图形库入门
			一.EMWIN图形库移植 在STM32ZET6(64KB SRAM.512KB FLASH)上移植,参考正点原子STM32F1 EMWIN开发手册_V2.0 STemWin源码可以在ST官网下载 版本 ... 
- not in 和 not  exists 比较和用法
			尽量不要使用not in(它会调用子查询),而尽量使用not exists(它会调用关联子查询).查询语句使用了not in,那么对内外表都进行全表扫描,没有用到索引:而not exists的子查询依 ... 
- 在SOUI中将自定义配置信息写到布局文件中
			SOUI的布局XML文件保存布局必须的信息.特定场合中,用户可能会需要在布局中指定业务需要处理的属性. 比如启程输入法的皮肤.有的皮肤支持高分屏,有的皮肤不支持.对于这个场景,比较理想的方案是直接在皮 ... 
- oacle12c 静默安装
			一.环境 系统 : CentOS 7.x硬件:虚拟机处理器4核 内存 4g 硬盘1:40g 硬盘2:20g 1.上传安装包,安装压缩组件 uname -ryum install -y unzip zi ... 
- JDK8到JDK17都升级了那些新特性?又有哪些能常用好用的?
			JDK8到JDK17都升级了那些新特性?又有哪些能常用好用的? 最近要做一个项目升级,因为之前的项目中有用到ElasticSearch 7.10.1版本,在之前的漏扫环节时会出现Tomcat渗透为问题 ... 
- python 输入与输出函数,格式化输出,注释,变量,整数,浮点数,字符串,布尔等说明
			python 输入函数:input 语法:input("提示文字") 注意:用input输入的内容都是字符串: 输出函数:print 语法:print() -------- ... 
- Studio 3T 试用期破解(含破解补丁) - 解决办法
			使用数据可视化工具Studio 3T查看MongoDB数据集数据,但是Studio 3T试用过期了,没了权限打不开软件怎么办? 这里通过建立批处理文件,重置试用时间,即可临时破解权限. 每次开机重启脚 ... 
- mysql数据库表如何设计
			单表数据量 所有表都需要添加注释,数据量建议控制在3000万以内 不保存大字段数据 不在数据库中存储图片.文件等大数据 表使用规范 拆分大字段和访问频率低的字段,分离冷热数据 单表字段数控制在 20 ... 
- Spring Boot创建完项目运行Cannot determine embedded database driver class for database type NONE
			spring boot 创建项目引用mybatis后,直接运行会提示: Cannot determine embedded database driver class for database typ ... 
