起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: tfb

【结贴】DocView定位到某条记录**

[复制链接]
 楼主| 发表于 2007-10-23 16:20:49 | 显示全部楼层
不过,还有个问题要请教. 我要实现的就是: 通过 下拉选择框的内容来显示指定的Docview文档.
下面这段代码, 当我使用 语句1 的时候, 看不到任何效果(没有过滤),  使用 语句2  才能看到我要的结果.

请问这是什么原因.

procedure TCSDJCT.ComboBox1Select(Sender: TObject);
begin
  //TSQLDataSet(DataSetbroker1.DataSet).SQLFilter:='Name='+sysutils.QuotedStr(Combobox1.Text); 语句1
  TSQLDataSet(DataSetbroker1.DataSet).Filter:='Name='+sysutils.QuotedStr(Combobox1.Text); //语句2
  TSQLDataSet(DataSetbroker1.DataSet).Filtered:=true;

  DocView2.Doc.Close;
  DocView2.OpenView(TDocMode.dmEdit);
end;
回复 支持 反对

使用道具 举报

发表于 2007-10-23 17:00:05 | 显示全部楼层
因为你没有开SQlFilter的开关,就是类似
TSQLDataSet(DataSetbroker1.DataSet).Filtered:=true;

补上这句就正常了。TSQLDataSet(DataSetbroker1.DataSet).SQLFiltered:=true;
回复 支持 反对

使用道具 举报

发表于 2007-10-23 17:35:06 | 显示全部楼层
如果使用语句1,就要把后面的
TSQLDataSet(DataSetbroker1.DataSet).Filtered:=true;
改为
TSQLDataSet(DataSetbroker1.DataSet).SQLFiltered:=true;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-24 09:26:13 | 显示全部楼层
再问一下.
使用下面的语句(客户端过滤)的时候可以取到数据:
TSQLDataSet(DataSetbroker1.DataSet).Filter:='Name='+sysutils.QuotedStr(Combobox1.Text);
  TSQLDataSet(DataSetbroker1.DataSet).Filtered:=true;

但是, 用相用的过滤条件,从服务端过滤的时候, 却取不到数据:
TSQLDataSet(DataSetbroker1.DataSet).SQLFilter:='Name='+sysutils.QuotedStr(Combobox1.Text); //这句没用??
  TSQLDataSet(DataSetbroker1.DataSet).SQLFiltered:=true;

请问这个,该怎么解释呢?
回复 支持 反对

使用道具 举报

发表于 2007-10-24 13:49:22 | 显示全部楼层
不会的。您可以调试看一下运行中这个数据集运行时的情况,是否有其他代码的影响。
回复 支持 反对

使用道具 举报

发表于 2007-11-1 17:09:18 | 显示全部楼层
楼主请回馈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-2 11:02:18 | 显示全部楼层
请结帐吧!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-29 13:18 , Processed in 0.041193 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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