点击Ehlib列标题的快速排序方法
2019独角兽企业重金招聘Python工程师标准>>>
点击Ehlib列标题的快速排序方法
procedure SortDBGridEh(Sender: TObject; ACol: Integer; Column: TColumnEh);
var FieldName, SortStr: string;
begin Screen.Cursor := crSQLWait; try if (Sender is TDBGridEh) and ((Sender as TDBGridEh).DataSource.DataSet <> nil) then begin if not ((Sender as TDBGridEh).DataSource.DataSet is TCustomADODataSet) then Exit; if not (Sender as TDBGridEh).DataSource.DataSet.Active then Exit; FieldName := Column.FieldName; if (Sender as TDBGridEh).DataSource.DataSet.FindField(FieldName).IsBlob then Exit; if (Sender as TDBGridEh).DataSource.DataSet.FieldByName(FieldName).FieldKind = fkData then SortStr := FieldName else if (Sender as TDBGridEh).DataSource.DataSet.FieldByName(FieldName).FieldKind = fkLookup then FieldName := (Sender as TDBGridEh).DataSource.DataSet.FieldByName(FieldName).KeyFields else FieldName := ''; if (FieldName = '') or (Pos(';', FieldName) > 0) then Exit; case Column.Title.SortMarker of smNoneEh: begin Column.Title.SortMarker := smUpEh; TCustomADODataSet((Sender as TDBGridEh).DataSource.DataSet).Sort := FieldName; end; smUpEh: begin Column.Title.SortMarker := smDownEh; TCustomADODataSet((Sender as TDBGridEh).DataSource.DataSet).Sort := FieldName + ' DESC'; end; smDownEh: begin Column.Title.SortMarker := smNoneEh; TCustomADODataSet((Sender as TDBGridEh).DataSource.DataSet).Sort := ''; end; end; end; finally Screen.Cursor := crDefault; end;
end;
-- 注意:你需要将你需要排序的列属性 -- Title->TitleButton设置为True。 在DBGridEh的事件OnTitleBtnClick引用该函数即可:
procedure TFrmU_BasicSetup.dbgAddrCodeTitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh);
begin SortDBGridEh(Sender, ACol, Column);
end;
转载于:https://my.oschina.net/u/582827/blog/1456552
点击Ehlib列标题的快速排序方法相关推荐
- cxGrid 在 GridMode = True 模式下实现标题点击排序以及标题列过滤筛选!!!
最近使用 cxGrid 这个表格控件,发现加载十几万笔数据时加载特别慢,同时用 DBGridEh 加载来对比,发现速度差异很大, 原来是 cxGrid 的 GridView 默认 GridMode=F ...
- datagridview 点击列标题排序
开发winform中,平时经常用到数据列表,我们大多选用datagridview,但是此控件本身没有排序的功能.参阅网上资料.留下标记,以后备用. datagridview的数据显示一般是通过数据绑定 ...
- 按照标题排序mysql_Oracle EBS Form中实现点击列标题进行排序
在做EBS表单开发时,虽然使用folder功能提供了排序功能,对多行数据块可以对前三列进行指定排序,也可以单击前三列的列标题进行排 27.1 问题描述 在做EBS表单开发时,虽然使用folder功能提 ...
- miniui单元格点击弹框_miniui 给表格行添加监听事件的几种方法以及点击某列列名数据不能排序的问题...
最近在使用miniui框架做开发,在做表格行的点击监听事件中发现了几个属性,都可以起到监听效果但是执行的结果却大有不同.好了废话不多说,直接上代码. autoload="true" ...
- 如何排两列的序计算机考试,excel中两列数据怎么一起排序?excel两列同时排序的方法...
excel中两列数据怎么一起排序?excel两列同时排序的方法 腾讯视频/爱奇艺/优酷/外卖 充值4折起 我们在使用Excel对数列排序时,有时会碰到需要对两列数据同时排序,下面就跟大家详细介绍操作方 ...
- excel数据平均分配给多人_excel数据拆分:将单列拆分成多列的几种方法
有时候我们的Excel表格里只有一列数据,如果需要打印出来的话,就是下面这样子的: 浪费纸不说,还很丑,这样打印的表格你真的敢拿给老板看吗? 对于这样的数据,就需要把一列平均分配到多列,通常有两种方法 ...
- excel多列多行堆叠成多列一行_「Excel技巧」Excel快速实现将一行转为多行多列的四种方法...
今天来说说在Excel中,将表格里的一列转换为多行多列的几种方法. 例如,以下表格,是一个行业分类表,都放在同一列中.现我们准备把它转为多列. 表格里数据除掉标题行行,总共有60列数据,干脆我们就给它 ...
- 列标题 如何删除gridcontrol_DEV控件GridControl常用属性设置(转)
1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...
- python dataframe取一列_python - 从pandas DataFrame列标题中获取列表
python - 从pandas DataFrame列标题中获取列表 我想从pandas DataFrame中获取列标题列表. DataFrame将来自用户输入,因此我不知道将会有多少列或将调用它们. ...
最新文章
- JUnit4测试框架设计与实现
- hdu4861 找规律了
- 新闻添加html页面
- 关于解决[INSTALL_FAILED_UPDATE_INCOMPATIBLE]
- 8086简单的指令流水线_在8086微处理器中执行流水线的指令和概念的步骤
- spark练习--统计xxx大学的各个少数名族的情况
- JavaScript 启动性能瓶颈分析与解决方案
- c语言乘法怎么手写,发现要实现手写乘法计算过程也让我头疼
- v8声卡调音软件_V8声卡调试:软件音效、变声效果及消除电流降噪教程
- 记录一次重装win10系统的流程
- 谷歌(google)、百度、必应d等高级搜索指令使用
- win10上U盘插到电脑上无法显示盘符也打不开怎么办
- 微信公众平台 登陆php,javascript - 微信公众号开发,如何使用户保持登录状态
- aden - 接小球游戏
- Error: Module “./D:/yongxuworks/youxu-web/node_modules/@umijs/babel-preset-umi/node_modules/@babel/r
- 《Blood Vessel Segmentation in Fundus Images Based on Improved Loss Function》
- winform窗口的切换
- ZBrush中的笔触
- 背景是不规则图案css,CSS3 实现花式背景图案
- 未越狱iphone与 Android短信备份迁移攻略