起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 148|回复: 5

【搞定】动态下拉框,怎么搞定?急!!**

[复制链接]
发表于 2007-9-13 16:46:40 | 显示全部楼层 |阅读模式
有一个下拉框,里面显示用户编码和用户名,SQL是
select userid,username from sys_user
但是这个SQL语句的过滤条件是动态的,它要根据当前登录人的情况进行条件组装.

例如,有时候,它动态组装的条件是
        where learder_ID = OperatorID;
      有时候是,
         where Area_Code = 登陆人区域;

   还有时候是,
         where Sub_Area_Code = 登陆人子区域
情况不一样,Where条件的字段是不一样的。

目前,我们使用查找属性,里面设定的SQL是:
select userid,username from sys_user ;
过滤条件里面没有设定。

如果我们要实现上面的效果,该怎么做?
回复

使用道具 举报

 楼主| 发表于 2007-9-13 16:59:36 | 显示全部楼层
贾老师,快帮我们看一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-13 17:22:48 | 显示全部楼层
ding
回复 支持 反对

使用道具 举报

发表于 2007-9-13 17:48:51 | 显示全部楼层
正在看呢!
回复 支持 反对

使用道具 举报

发表于 2007-9-13 18:10:33 | 显示全部楼层
请用业务参数来过滤查找数据集:
1、定义查找数据集的sql语句
SELECT TPERSON.FID, TPERSON.FDISPLAYNAME
  FROM TPERSON
  WHERE TPERSON.FID like '%'+&[Biz:\LZ\YWCSZ.ParamGroup\PersonID.Param]+'%'


2、代码设置参数值,刷新查找数据集
var
  lContextCurrent: TContextCurrent;
  lBizParam: TBizParam;
  lBizUrl: TBizUrl;
begin
  lBizUrl := TBizUrl.Create;
  lContextCurrent := TContextCurrent.Create(context);
  try
    lBizUrl.URL := 'Biz:\LZ\YWCSZ.ParamGroup';
    lBizParam := lContextCurrent.GetParam(lBizUrl, 'PersonID');
    lbizparam.Value := Edit1.Text;
  finally
    lBizUrl.Free;
    lContextCurrent.Free;
  end;
  TSqlDataSet(DataSetBroker1.DataSet).GetLookupData('XSY').Refresh;
end;

3、注意:
你的需求需要设置三个参数来实现,在设计sql时用like
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-15 11:38:57 | 显示全部楼层
多谢,结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-16 12:44 , Processed in 0.038415 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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