起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 240|回复: 9

【结贴】[请求]自定义查找属性问题**

[复制链接]
发表于 2008-8-21 09:20:35 | 显示全部楼层 |阅读模式
DataSetFZRXX.Active:=true;

  DataSetBMCL.BizFieldByName('CLR').LookupDef.kind:=  TLookupKind.lkDataValues;    //查找类型
  DataSetBMCL.BizFieldByName('CLR').LookupDef.ValidateKind   := TLookupValidateKind.vkMust;   //查找值范围


  DataSetBMCL.BizFieldByName('CLR').LookupDef.DataBase.URL:='Biz:\SYSTEM\SYSTEM.DATABASE';
  DataSetBMCL.BizFieldByName('CLR').LookupDef.SQL.Text := '';
('CLBM').AsString  :=DataSetFZRXX.FieldByName('KS').AsString ;
  DataSetBMCL.BizFieldByName('CLR').LookupDef.KeyField       := 'FPERSON' ;          //关键字段
  DataSetBMCL.BizFieldByName('CLR').LookupDef.DisplayField   := 'FDISPLAYNAME';  //显示字段
  DataSetBMCL.BizFieldByName('CLR').LookupDef.DropDownButton := True; //是否显示下拉

  with TSQLDataSet(DataSetBMCL) do
  begin
    DataSetBMCL.BizFieldByName('CLR').LookupDef.SQL.Text:= 'select FPERSON,FDISPLAYNAME FROM TORGSYSTEM where FDEPT=''jsjyys''  ';
    //'''+DataSetFZRXX.FieldByName('KS').AsString+'''';
  end;
  DataSetBMCL.LayoutChange;

使用中发现 FDEPT=''jsjyys''  条件不起作用,另外如果下拉只显示 显示字段怎么写
回复

使用道具 举报

发表于 2008-8-21 09:25:50 | 显示全部楼层
楼主,可以手工定义一个查找属性,然后到vcs中查看,他是怎么定义的,对照一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-21 09:47:07 | 显示全部楼层
看不出什么
回复 支持 反对

使用道具 举报

发表于 2008-8-21 09:58:06 | 显示全部楼层
版本是多少?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-21 10:06:43 | 显示全部楼层
ID = 'CLR'
    DisplayName = #22788#29702#20154
    DataType = dtString
    DataTypeAttribute.Size = 32
    EditStyleID = 'String'
    Alignment = taLeftJustify
    LookupDef.Kind = lkDataValues
    LookupDef.DataBase.Reference = 'SYSTEM'
    LookupDef.SQL.Strings = (
      
        'SELECT TORGSYSTEM.FPERSON, TORGSYSTEM.FDEPT, TORGSYSTEM.FDISPLAY' +
        'NAME'
      '  FROM TORGSYSTEM')
    LookupDef.DisplayField = 'FDISPLAYNAME'
    LookupDef.KeyField = 'FPERSON'
    LookupDef.Filter.Strings = (
      '(Expr2 = DataSet.CLBM) OR (Expr1 = DataSet.CLBM)')
    LookupDef.ViewID = 'GridView'
    LookupDef.ViewProperties.Strings = (
      'object _1: TGridViewDesigner'
      '  VisibleColumns.Strings = ('
      '    '#39'FDISPLAYNAME'#39')'
      '  Options = [goShowQuickCodeField]'
      'end')
    LookupDef.Options = [loDropDownButton]
    LookupDef.InnerSQLList.Expressions = <
      item
        Name = '[Default]'
        Expression.Text =
          'SELECT TORGSYSTEM.FPERSON, TORGSYSTEM.FDEPT, TORGSYSTEM.FDISPLAY' +
          'NAME'#13#10'  FROM TORGSYSTEM'
      end>
    LookupDef.InnerSQLList.Text =
      'SELECT TORGSYSTEM.FPERSON, TORGSYSTEM.FDEPT, TORGSYSTEM.FDISPLAY' +
      'NAME'#13#10'  FROM TORGSYSTEM'
    AutoFillDef.Trigger = [ftOnInsert, ftOnEdit, ftOnDataChange]
    IsRequired = True
  end
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-21 10:07:23 | 显示全部楼层
3.0.6.3068
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-21 10:09:03 | 显示全部楼层
在建模工具里 过滤跟 下拉只显示人员不显示id跟部门怎么写
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-21 10:34:40 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2008-8-21 11:07:07 | 显示全部楼层
参考下方代码吧

  with TSQlDataSet(YWXX6.TYWXX6(InfoBroker1.Info).DataSetBZSJJ1).BizFieldByName('DJ') do
  begin
    LookupDef.Kind :=TLookUpKind.lkDataValues;
    LookupDef.DataBase.URL := 'Biz:\OPERATION\OPERATIONDB.DATABASE';
    LookupDef.SQL.Add(        'SELECT *'+
        '  FROM ASJB');
    LookupDef.DisplayField := 'ZD1';
    LookupDef.KeyField := 'ID';
    LookupDef.QuickCodeField := 'ZD1';  //快速编码字段
    LookupDef.ViewID := 'GridView';
    LookupDef.ViewProperties.Add(
      'object _1: TGridViewDesigner'+
      '  VisibleColumns.Strings = ('+
      '    '#39'ZD1'#39')'+
      '  Options = []'+
      'end');
    LookupDef.Options := [TLookupOption.loDropDownButton];
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-21 12:17:08 | 显示全部楼层
原来vcs里的是可以直接拿过来改改用的。 ok结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 23:14 , Processed in 0.040815 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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