起步软件技术论坛-X3

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

【结帖】给每条数据单独过滤**

[复制链接]
发表于 2009-2-19 12:05:45 | 显示全部楼层 |阅读模式
我要做人员信息调整,在改变信息之前给当前的这条数据的人员这个字段过滤,在哪个事件里写好呢
回复

使用道具 举报

 楼主| 发表于 2009-2-19 12:07:08 | 显示全部楼层
就是每条数据的人员这个字段是下拉的可以选择的,但是每条数据的人员这个字段的下拉中可以选择的不一样
回复 支持 反对

使用道具 举报

发表于 2009-2-19 13:06:49 | 显示全部楼层
可以在查找属性的过滤页做过滤。

过滤的条件可以是另一个字段
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-19 13:15:14 | 显示全部楼层
对的,但是我的过滤条件是这样子的,比如要过滤的这个字段是id
那我的过滤就是要id in (select userid from table where ....)
这样子在过滤页做不了的吧
回复 支持 反对

使用道具 举报

发表于 2009-2-19 13:34:30 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-19 14:08:32 | 显示全部楼层
可能是我表达的不够清楚。
我这个地方只能用到本地过滤,

procedure TMONTH_SALES_RECORD_FORMDOC.DataGridClick(Sender: TObject);
begin
    if DataSetBrokerMONTH_SALES_RECORD.DataSet.Active then
    begin
        lQuery.Close;
        lQuery.CommandText := 'SELECT NVL(DEV_CODE,0) AS DEV_CODE,NVL(DEV_CODE1,0) AS DEV_CODE1,NVL(DEV_CODE2,0) AS DEV_CODE2 FROM HOS_CUST WHERE HOS_CUST_CODE='+DataSetBrokerMONTH_SALES_RECORD.DataSet.FieldByName('SUM_BUSS_CODE').AsString;
        lQuery.Open;
        TMONTH_SALES_RECORD_INFO(InfoBroker.Info).DataSetEMPLOYEE_LIST.Filter := 'USERID IN ('+lQuery.FieldByName('DEV_CODE').AsString+','+lQuery.FieldByName('DEV_CODE1').AsString+','+lQuery.FieldByName('DEV_CODE2').AsString+')';
        TMONTH_SALES_RECORD_INFO(InfoBroker.Info).DataSetEMPLOYEE_LIST.Filtered := true;
    end;
end;


但是没有过滤到,不知道为什么
回复 支持 反对

使用道具 举报

发表于 2009-2-19 14:36:04 | 显示全部楼层
楼主,如果是做本地过滤,就很简单了。
var
  lDataSet: TDataSet;
begin
  lDataSet := TSQLDataSet(dsb.DataSet).GetLookupData ('ZD1').DataSet;
  lDataSet.Filter := '过滤条件';
  lDataSet.Filtered := true;
end;

置于您说的没有过滤到,可能是条件的设置有问题。
建议,先找个普通的数据集试验一下,得到正确的过滤表达式后,再来过滤查找数据集
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-19 15:46:58 | 显示全部楼层
想了想,觉得我的这种需求通过过滤不能实现,只能改为其他的方式去实现了

谢谢2位的回答
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 18:11 , Processed in 0.038786 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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