起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 286|回复: 6

【搞定】如何定义动态查找,应用下面代码后,没有下拉按钮出现**

[复制链接]
发表于 2007-5-23 10:13:22 | 显示全部楼层 |阅读模式
//定义动态查找属性
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('sRunId').LookupDef.Kind := TLookupKind.lkDataValues;               //查找类型
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('sRunId').LookupDef.ValidateKind   := TLookupValidateKind.vkMust; //查找值范围
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('sRunId').LookupDef.SQL.Text       := '';                          // 查找数据集的SQL 语句
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('sRunId').LookupDef.KeyField       := 'sRunId';                  //关键字段
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('sRunId').LookupDef.DisplayField   := 'sRunId';              //显示字段
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('sRunId').LookupDef.DropDownButton := True;                        //是否显示下拉

//为查找属性的SQL语句赋值
  with TSQLDataSet(DataSetBroker1.DataSet) do
  begin
  close;
  TSQLDataSet(DataSetBroker1.DataSet).BizFieldByName('sRunId').LookupDef.SQL.Text:= 'select sRunId from BD_D_SUBSTATION';
  //'+strDevTab+' where sStatId = '''+dedtBDZ.text+'''';
  open;
  end;
回复

使用道具 举报

 楼主| 发表于 2007-5-23 10:29:07 | 显示全部楼层
可以下拉了,但点击下拉按钮后,报错


无效的连接参数(空)
回复 支持 反对

使用道具 举报

发表于 2007-5-23 10:55:59 | 显示全部楼层
这样写
//定义动态查找属性
  TSQLDataSet(DataSetBroker1.DataSet).Open;             //先打开数据集
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('KHID').LookupDef.Kind := TLookupKind.lkDataValues;               //查找类型
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('KHID').LookupDef.ValidateKind   := TLookupValidateKind.vkMust; //查找值范围
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('KHID').LookupDef.SQL.Text := '';                          // 查找数据集的SQL 语句
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('KHID').LookupDef.KeyField       := 'KHBH';                  //关键字段
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('KHID').LookupDef.DisplayField   := 'KHMC';              //显示字段
  TSQLDataSet(DataSetBroker1.DataSet).FindBizField('KHID').LookupDef.DropDownButton := True;                        //是否显示下拉


//为查找属性的SQL语句赋值
  with TSQLDataSet(DataSetBroker1.DataSet) do
  begin
    TSQLDataSet(DataSetBroker1.DataSet).BizFieldByName('KHID').LookupDef.SQL.Text:= 'SELECT KHBH,KHMC FROM KHJBXXB';
  end;
回复 支持 反对

使用道具 举报

发表于 2007-5-23 10:59:56 | 显示全部楼层
没有定义database属性吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-23 11:05:16 | 显示全部楼层
可以了,谢谢!
是sql语句写错了
改为
SELECT BD_D_SUBSTATION.SRUNID FROM BD_D_SUBSTATION
就对了
回复 支持 反对

使用道具 举报

发表于 2007-5-23 11:07:35 | 显示全部楼层
ding
回复 支持 反对

使用道具 举报

发表于 2007-5-23 13:35:45 | 显示全部楼层
zx顶什么呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 00:41 , Processed in 0.036030 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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