cxGrid控件过滤排序和TClientDataSet同步
https://www.cnblogs.com/false/archive/2013/02/24/2924240.html
procedure TReport10Form.cxGridViewDataControllerFilterChanged(Sender: TObject);
var
cds: TClientDataSet;
begin
cds := cxGridView.DataController.DataSource.DataSet as TClientDataSet;
try
cds.Filtered := false;
cds.Filter := cxGridView.DataController.filter.filtertext;
cds.Filtered := True;
except
cds.Filter:='';
end;
end;
2.排序同步
procedure TaxisDataSet(Column: TColumnEh; var aDataSet: TClientDataSet);
var
IndexDataSet: ^TClientDataSet;
IsDesc: boolean;
begin
IndexDataSet := @aDataSet;
// if LastColumn <> nil then //中文长度为2
// LastColumn.Title.Caption := Copy(LastColumn.Title.Caption, 1, Length(LastColumn.Title.Caption) - 2);
// LastColumn := Column;
if (IndexDataSet.IndexDefs.Count > 0) and (IndexDataSet.IndexDefs[0].Fields = Column.FieldName) then
begin
if IndexDataSet.IndexDefs[0].Options = [ixDescending] then
IsDesc := false
else
IsDesc := true;
end
else
begin
IsDesc := false;
end;
IndexDataSet.DisableControls();
// self.cdsVMember.IndexFieldNames := Column.FieldName;
IndexDataSet.IndexDefs.Clear();
with IndexDataSet.IndexDefs.AddIndexDef do
begin
Fields := Column.FieldName;
if IsDesc then
begin //12.8.206 lero
Name := 'DescIndex' + 'Tmp'; //'tmp'代替 Column.FieldName 避免Name长度过长 引起错误
Options := [ixDescending];
// Column.Title.Caption := Column.Title.Caption + '↓'; //
end
else
begin
Name := 'Index' + 'Tmp';
// Column.Title.Caption := Column.Title.Caption + '↑'; //
end;
end;
IndexDataSet.IndexName := IndexDataSet.IndexDefs.Items[0].Name;
IndexDataSet.EnableControls();
end;
3.动态的显示数据源数据
var Tableview:TcxGridDBTableView; //定义
......
TableView := TcxGridDBTableView(cxGrid1.CreateView(TcxGridDBTableView));
with TableView do
begin
DataController.DataSource := datasource2; // 确定数据源
self.cxGrid1Level1.GridView:= TableView; //绑定视图
(DataController as IcxCustomGridDataController).DeleteAllItems; //删除所有列
(DataController as IcxCustomGridDataController).CreateAllItems(false);//创建数据源中的所有列
end;
for i:=0 to tableview.ColumnCount-1 do
begin
//判断数据视图中是否包含产品两字的列,以便加长宽度显示
if AnsiContainsText(tableview.Columns.DataBinding.FieldName,'产品')=true then
begin
tableview.Columns.Width:=120 ;
end else
begin
tableview.Columns.Width:=50 ;
end;
end;
cxGrid控件过滤排序和TClientDataSet同步的更多相关文章
- cxGrid控件过滤筛选后如何获更新筛选后的数据集
cxGrid控件过滤筛选后如何获更新筛选后的数据集 (2015-06-19 12:12:08) 转载▼ 标签: delphi cxgrid筛选数据集 cxgrid过滤 分类: Delphi cxGri ...
- 如何访问cxGrid控件过滤后的数据集
var I: Integer; begin Memo1.Lines.Clear; with cxGrid1DBTableView1.DataController do for I := 0 to Fi ...
- C#中的BackgroundWorker控件+Delegate.Invoke (委托同步调用)
C#中的BackgroundWorker控件+Delegate.Invoke (委托同步调用) 简单代码,记录一下.一个BackgroundWorker控件 backgroundWorkerRefr ...
- DEV控件自定义排序实现
一般的控件或者组件都支持按照某一列进行排序.但是,这种排序是根据数据源里的数据默认按照降序或升序排序的,同时这样的排序与字段的类型有关. 假设现在字段的类型是字符串类型 ,但是,存储的数据时数字加一些 ...
- 关于Asp.net事件,如何在触发子控件的事件时,同步触发父页面的事件
对页面引用自定义控件后,通过绑定自定义事件,页面绑定子控件的事件,在子控件做了某些修改动作后,如何同步操作父页面的方法:下面我煮了个栗子,同学们可以来尝一尝试一试 a.aspx 引用 UserCont ...
- Dynamic CRM 2013学习笔记(八)过滤查找控件 (类似省市联动)
我们经常要实现类似省市联动一样的功能,常见的就是二个查找控件,一个选择了省后,另一个市的查找控件就自动过滤了,只显示当前省下的市,而不是所有的市.当然这是最简单的,实际工作中还有更复杂的功能要通过过滤 ...
- [DataTable]控件排序事件中用DataView及DataTable排序
控件排序事件中用DataView及DataTable排序 文章分类:.net编程 在做ASP.NET页面开发时,经常要用到dataset(或者DataTable),绑定到DataGrid或GridVi ...
- QRowTable表格控件(五)-重写表头排序、支持第三次单击恢复默认排序
目录 一.原生表格 二.效果展示 三.实现方式 1.排序列定制 2.排序交互修改 四.相关文章 原文链接:QRowTable表格控件(五)-重写表头排序.支持第三次单击恢复默认排序 一.原生表格 开发 ...
- DataTables 控件使用和心得 (2) - 参数Options
什么是DataTables参数(Options) 上篇我们说了,DataTables控件的加载函数dataTable()一般都有一个对象参数,这个对象参数就是整个DataTables控件的参数(Opt ...
随机推荐
- 20172325 2017-2018-2 《Java程序设计》第十一周学习总结
20172325 2017-2018-2 <Java程序设计>第十一周学习总结 教材学习内容总结 Android简介 Android操作系统是一种多用户的Linux系统,每个应用程序作为单 ...
- 关于python的字符编码
理论特别多,金角大王讲的非常细致和深入浅出. 我来个简短的总结: python2的编码:默认是ascii,可以改变成gbk,utf-8等,但是用什么编码写的,就存储成什么编码.如果搬到linux,默认 ...
- Javascript的一个怪现象
javascript有一个怪现象,就是减法也会导致小数位数问题,是一个麻烦的问题,比如. <html><script> var a=10,b=20.1; alert( a - ...
- maven3 学习
主要参考博文:http://www.cnblogs.com/yjmyzz/p/3495762.html 修正: 1.下载maven 3.1.1 先到官网http://maven.apache.org/ ...
- Maximum Average Subarray I LT643
Given an array consisting of n integers, find the contiguous subarray of given length k that has the ...
- R.java的生成规则
0x7f010000 开头的是attr 0x7f050000 开头的是anim 0x7f0b0002 开头的是bool 0x7f020000 开头的是drawable 0x7f060000 开头的是i ...
- Python3实战系列之三(获取印度售后数据项目)
问题:续接上一篇.说干咱就干呀,勤勤恳恳写程序呀! 目标:实现第一个python程序的“Hello world!” 解决方案:新建一个项目Test,创建一个Test.py文件.在文件中实现打印出“He ...
- GC收集器种类
转载:https://wangkang007.gitbooks.io/jvm/content/la_ji_shou_ji_qi.html 收集器 1.1 Serial(串行)收集器 Serial收集器 ...
- IPutils
package com.mmall.util; import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils ...
- Linux下进行程序设计时,关于库的使用:
一.gcc/g++命令中关于库的参数: -shared: 该选项指定生成动态连接库: -fPIC:表示编译为位置独立(地址无关)的代码,不用此选项的话,编译后的代码是位置相关的,所以动态载入时,是通过 ...