起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 159|回复: 7

【搞定】[请求]如何完成入门手册中 5.2.10 过滤订单列表中的数据**

[复制链接]
发表于 2007-9-17 09:48:27 | 显示全部楼层 |阅读模式
学习入门手册中 5.2.10 过滤订单列表中的数据的时候需要在功能“订单列表”上创建一个下拉查询条件“客户”(下拉列表数据从KHB表中选取)。
SQL语句应该是
select * from DD
where DD.KH=:KH


目前已经完成的内容是
1、数据字典,(订单编号,客户,业务员等。客户从KHB表查找)
2、业务信息,(订单数据集仅包含订单表,未作其他改变。)
3、表格文档,(grid样式)

在客服的帮助下完成在表格文档中添加InfoBroker1和DataSetBroker1并指定到订单数据集,准备创建表格文档里的DocCreate事件,进入下面的事件编辑:
procedure TDDLB.SheetDocCreate(Sender: TObject);
begin

end;



1、请帮我写一下事件代码,我以前没写过。
2、完成后是不是用功能直接引用这个文档就可以实现需求,还需要其他的步骤了么。
回复

使用道具 举报

发表于 2007-9-17 10:00:04 | 显示全部楼层
楼主要在表格文档的OnCreate事件中做什么呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-17 10:06:27 | 显示全部楼层
电话里客服让创建的,说是进行SQLFilter过滤。

当然这只是过程,我关心的是能否实现需求,我现在都不知道实现需求的最简便的方法有哪几个步骤。
不晓得我的需求有没有说清楚:在功能“订单列表”上创建一个下拉查询条件“客户”(下拉列表数据从KHB表中选取)。
回复 支持 反对

使用道具 举报

发表于 2007-9-17 10:19:30 | 显示全部楼层
如果是做sqlfilter过滤:

TSqlDataSet(DataSetBroker1.DataSet).SqlFilter := '表达式';
TSqlDataSet(DataSetBroker1.DataSet).SqlFiltered := true;

'表达式'的语法和sql的where部分一致
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-17 10:39:46 | 显示全部楼层
事件的代码应该写成这样么?
procedure TDDLB.SheetDocCreate(Sender: TObject);
begin
TSqlDataSet(DataSetBroker1.DataSet).SqlFilter := 'DD.KH=:KH';
TSqlDataSet(DataSetBroker1.DataSet).SqlFiltered := true;
end;
回复 支持 反对

使用道具 举报

发表于 2007-9-17 10:43:51 | 显示全部楼层
TSqlDataSet(DataSetBroker1.DataSet).SqlFilter := 'DD.KH='''+ DataSet2.FieldByName('KH').AsString+'''';
回复 支持 反对

使用道具 举报

发表于 2007-9-17 10:47:30 | 显示全部楼层
不要使用:KH,这是数据集参数的用法,在过滤前还得为参数赋值

你可以直接写条件
TSqlDataSet(DataSetBroker1.DataSet).SqlFilter := 'DD.KH='  +  Sysutils.QuotedStr('A客户');
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-17 14:47:20 | 显示全部楼层
参考楼上给出brp文件的内容,该问题已经解决。
实际上就是设置数据集SqlFilter的过程,谢谢几位的耐心解答。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-16 10:42 , Processed in 0.044094 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表