我想实现单击一个按钮后弹出cxgird中的过滤生成器的对话框,生成查询条件后,按过滤生成器中的确定按钮后,重新从数据库中根据过滤生成器中的条件取得数据
问题1: 不知道在代码中用什么方法可以把过滤生成器的对话框弹出来?
问题2:生成查询条件后,怎么根据过滤生成器中的条件重新从数据库中取得数据?
问题1: 不知道在代码中用什么方法可以把过滤生成器的对话框弹出来?
问题2:生成查询条件后,怎么根据过滤生成器中的条件重新从数据库中取得数据?
解决方案 »
- 新人求教,有没办法让edit1跟随并覆盖DBGrid的某2-3个单元格的位置。
- 获取excel字段名
- ORACLE里面的这些数据类型对应DELPHI什么数据类型?
- 用什么报表控件可以打印出大对联???在一张大白纸上,要求可设置字体和大小。
- delphi6.0+SQLServer,关于数据库出错信息的捕获
- 急求关于自定义类的问题,顶者有分!!!
- 如何使用indy组件发邮件,在线等候,谢谢!
- 我想在报表中按品名分类,并分别按分类累计其数量,我在报表中添加了QRGROUP 及指定某QRband为其GROUP FOOTER,可是现在累计的都是所有的
- 通过delphi的aes加密之后的数据这样是对的吗?
- 向高手请教ERP的问题,我会给分的!
- 帮帮忙,一个简单的问题.
- 求SQL语句(在Delphi下用ODAC连接Oracle数据库)
根据生成查询条件,重写数据查询语句不行吗?
//cxGrid为你窗体上的cxGrid控件.
TcxGridTableView(cxGrid.ActiveView).Filtering.RunCustomizeDialog();
我上面已经说了cxFilterDialog.pas这个单元不是过滤生成器的源码,它和过滤生成器的区别是它只能过滤一个字段,而过滤生成器可以过滤所有字段,cxFilterDialog这个单元其实就是按了字段头的小按钮弹出来的对话框的源码,而过滤生成器是按了页脚中的定制按钮后所弹出的对话框,而过滤生成器对话框在它的源码中找不到相应的单元,不知道它在什么地方实现的
就要台捕获到Filter Textprocedure TfrmWageBill.tvWageBillDataControllerFilterBeforeChange(
Sender: TcxDBDataFilterCriteria; ADataSet: TDataSet;
const AFilterText: string);
begin
ShowMessage(AFilterText);
end;//你测试一下执行几次,在我的电脑上面执行两次, 不明白为什么??
//如果你再从服务器上获取数据就直接用
if ADataSet is TADOQuery then begin
TADOQuery(ADataSet).SQL.Clear;
TADOQuery(ADataSet).SQL.Text:=SQL //你的SELECT .. WHERE + AFilterText;
TADOQuery(ADataSet).Active:=true;
emd;
要不这个月进不了Top 20.
问题解决了一定会结分给你
但AFilterText的值没有显示有字段名称啊,如:( ='a') and ( ='b')
不知道你那里是不是这样的,
另外我这里在第一次页脚没有显示条件的时候也会执行2次,显示了条件以后就不会执行2次了,这个问题都不是很大,加个变量判断一下应该就可以了
我的5.19, 你确定是在DataController Filter的BeforeChange事件中
写的代码吗?
我的是5.7版本的,我换个版本再试试看