共用查询窗体的一种实现方法(X3)
来源:互联网 发布:淘宝客服聊天表情包 编辑:程序博客网 时间:2024/04/28 13:59
大概步骤这样:
1、新建一个‘资源集’起名‘常用窗体’,其ID我们默认为‘CYCT’。
2、在这个资源集下新建一个‘窗体’,起名‘查询窗体’,其ID我们默认为‘CXCT’。
3、在这个查询窗体上放上我们要用的控件,比如我们放两个DateTimePicker,分别为DateTimePicker1、DateTimePicker2作为查询条件的起、止时间,然后放上两个BUTTON,分别为button1/button2在其caption上写上‘确定’、‘取消’,并在button1的clike事件上写上一句代码:ModalResult :=Business.Forms.Controls.mrOK;在button2的clike事件上写上:close;
4、在‘资源集’中写入两个函数
//取日期等变量的函数
function GETVARDATE( var ADateBegin,ADateEnd:TDateTime):Boolean;
var
lForm:TCXCT;
begin
lForm :=TCXCT.Create(nil);
With lForm do
try
Result := ShowModal=Business.Forms.Controls.mrOK;
if Result then
begin
ADateBegin := DateTimePicker1.Date;
ADateEnd:= DateTimePicker2.Date;
end;
finally
Free;
end;
end;
//传入变量的函数
Static Function GetPARA:Boolean;
var
lForm:TCXCT;
begin
lForm :=TCXCT.Create(nil);
With lForm do
try
Result := ShowModal=Business.Forms.Controls.mrCancel;
if Result then
begin
sysutils.Abort;
end;
finally
Free;
end;
end;
5、前提是我们已经做好了报表的功能窗体,现在我们要做到,在我们查看这个报表功能之前会弹出我们刚才做的‘查询窗体’,选择起止时间,经过过滤在报表的功能窗体上显示我们想要的数据。
6、单击报表的功能(非功能窗体),然后查看其事件,在OnCreate事件下写入代码:
procedure TCGDDBBFUNC.FuncCreate(Sender: TObject);
var
lDate1,lDate2:TDateTime;
lSqlstr,ldate11,ldate22:string;
linfobroker:Tinfobroker;
begin
linfobroker:=Tinfobroker.Create(self);
linfobroker.AutoBroker:=true;
linfobroker.AutoKind := TAutoKind.akShare;
linfobroker.BizClassRef.BizURL.URL:='Biz:/KCXT/CGDDXXinfo.Info';
if CYCT.TCYCT.GetA(lDate1,lDate2,lType,lCode) then
begin
ldate11:='';
ldate22:='';
sysutils.DateTimeToString(ldate11,'yyyy-MM-dd',ldate1);
sysutils.DateTimeToString(ldate22,'yyyy-MM-dd',ldate2);
lSqlstr:='PODATE between '''+ldate11+''' and '''+ldate22+'''' ;
CGDDXXINFO.TCGDDXXinfo(linfobroker.Info).DataSetCGDDSJJ.sqlFilter:=lSqlstr;
CGDDXXINFO.TCGDDXXinfo(linfobroker.Info).DataSetCGDDSJJ.sqlFiltered:=true;
end else
begin
self.Terminate;
end;
end;
编译通过,运行,既可达到所要的效果。
- 共用查询窗体的一种实现方法(X3)
- MyBatis实现链接查询的一种方法
- C#实现窗体圆角的一种方法
- C#实现窗体圆角的一种方法
- 一种面向对象的Java Bean查询方法的实现
- asp.net实现组合查询的一种方法
- 一种调用Win95 API实现串行通信的查询方法
- 渐变色(Gradient)窗体——一种简单的实现方法
- 学习Discuz! X3.2记录:修改标签“Powered by Discuz!”的一种方法
- 弹出式窗体的实现方法
- union:一种实用的共用体用法
- 一种你不知道的解决窗体闪烁的方法
- 两个域名共用一个空间的实现方法
- 两个域名共用一个空间的实现方法
- 不用共用体来实现大小端测试的方法
- 慢查询日志的另外一种方法
- 一种查询表详细属性的方法
- atof的一种实现方法
- Node的三种译法:网点、节点和结点
- c# new and override区别
- JTextPane 实现序列化保存图文混合
- 上班一周感慨...
- python3 文件和文件夹操作
- 共用查询窗体的一种实现方法(X3)
- bochs的使用心得
- NetBeans 时事通讯(刊号 # 148 - May 28, 2011)
- 关于实时操作系统的性能指标的判定与分析
- 说说设计原则
- 【原创】android 或JAVA中单例的例子
- 多线程
- QSqlRelationalTableModel的setFilter()问题
- sql2005如何還原master數據庫