起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 2052|回复: 3

关于查找属性定义

[复制链接]
发表于 2005-1-5 09:33:28 | 显示全部楼层 |阅读模式
TBizField中定义查找属性
  TBizField.LookupDef.Kind := TLookupKind.lkEnumValues;  //查找类型
  TBizField.LookupDef.ValidateKind   := TLookupValidateKind.vkMust; //查找值范围
  TBizField.LookupDef.SQL.Text       := ''; // 查找数据集的SQL 语句
  TBizField.LookupDef.KeyField       := 'KeyField'; //关键字段
  TBizField.LookupDef.DisplayField   := 'DisplayField'; //显示字段
  TBizField.LookupDef.DropDownButton := True; //是否显示下拉
回复

使用道具 举报

 楼主| 发表于 2005-1-5 09:34:23 | 显示全部楼层
还可以在代码中对这个查找属性的SQL语句赋值。
with TSQLDataSet(DataSetBroker1.DataSet) do
  begin
    Close;
    BizFieldByName('SZDW').LookDef.SQL.Text := 'SELECT DISTINCT T_WLDY.GYSBH, T_GYSXX.GYSMC, T_GYSXX.CZ  FROM T_WLDY,T_GYSXX where substring(T_WLDY.WLBH,1,1)='''+zhi+''' and T_WLDY.GYSBH=T_GYSXX.GYSBH ';
    Open;
  end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-13 13:41:38 | 显示全部楼层
定义一个数据集(DataSetLookupDataSet),把查找属性的关键值和显示值存到这个数据集里。然后执行如下代码:

var
  lBizField: TBizField;
  lStream: TMemoryStream;
begin
  lBizField := TBizDataSet(DataSetBrokerBZSJJ1.DataSet).FindBizField('SZ');
  if lBizField <> nil then
  begin
    lBizField.LookupDef.Kind := TLookupKind.lkEnumValues;
    lBizField.LookupDef.KeyField := 'ID';
    lBizField.LookupDef.DisplayField := 'XSMC';
    lStream := TMemoryStream.Create;
    try
      DataSetLookupDataSet.Open;
      DataSetLookupDataSet.SaveToStream(lStream, TDataPacketFormat.dfXML);
      lStream.Position := 0;
      lBizField.LookupDef.Values.LoadFromStream(lStream);
      TBizDataSet(DataSetBrokerBZSJJ1.DataSet).LayoutChange;
    finally
      lStream.Free;
    end;
  end
  else
    FindBizFieldError;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-13 13:42:25 | 显示全部楼层
取消查找的代码:
var
  lBizField: TBizField;
begin
  lBizField := TBizDataSet(DataSetBrokerBZSJJ1.DataSet).FindBizField('SZ');
  if lBizField <> nil then
  begin
    lBizField.LookupDef.Kind := TLookupKind.lkNone;
    TBizDataSet(DataSetBrokerBZSJJ1.DataSet).LayoutChange;
  end
  else
    FindBizFieldError;
end;
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-22 19:03 , Processed in 0.037801 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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