起步软件技术论坛-X3

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

代码控制查找属性

[复制链接]
发表于 2009-8-21 15:39:52 | 显示全部楼层 |阅读模式
在一窗体上有两个DataGrid,当用户选择其中一个DataGrid中的某一数据时,另一DataGrid中一字段的查找属性所查找的数据需要改变,也就是查找属性中数据查找的过滤条件需要改变一下。
我这样写
DataSetSBMC.FieldByName('XMMC').LookupDataSet.Filter := '';
当执行到这一句时报出下面的错误,这是怎么回事?

未命名.jpg

20.96 KB, 下载次数: 173

回复

使用道具 举报

发表于 2009-8-21 15:43:02 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-21 17:20:50 | 显示全部楼层
按照LS的给的帖子写出来不行呢,下面是我的代码:
DataSetSBMC.Close;
    lBizField := TBizDataSet(DataSetSBMC).FindBizField('XMMC');
    if lBizField <> nil then
    begin
      lBizField.LookupDef.Kind := TLookupKind.lkDataValues;
      lBizField.LookupDef.ValidateKind := TLookupValidateKind.vkAutoAdd;
      //lBizField.LookupDef.BizDataSet := TBizRef(DataSetJYXM);
      lBizField.LookupDef.SQL.Text := 'SELECT XMMC FROM JYXMB WHERE JDBH=''' + DataSetBroker1.DataSet.FieldByName('BH').AsString + ''' AND ZLBS=''' + DataSetJYBZ.FieldByName('ZLBS').AsString + ''' order by xsxh asc';
      lBizField.LookupDef.KeyField := 'XMMC';
      lBizField.LookupDef.DisplayField := 'XMMC';
      lBizField.LookupDef.DropDownButton := true;
    end;
    DataSetSBMC.Open;
回复 支持 反对

使用道具 举报

发表于 2009-8-21 17:37:49 | 显示全部楼层
TSQLDataSet(DataSetBroker1.DataSet).LayoutChange;
调用一下这句话。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-22 11:02:57 | 显示全部楼层
加上LS那句也不行
回复 支持 反对

使用道具 举报

发表于 2009-8-22 16:08:36 | 显示全部楼层
那就只能重新打开数据集了。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 02:03 , Processed in 0.044437 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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