clientdataset中有一个lookup,它有三个参数,不知代表什么意义,现在想关联的dbgrid中可以有下拉的选择,该怎么写代码?(听他们说用这个方法,但具体怎么用,查delphi帮助也没解决,请帮助)

解决方案 »

  1.   

    var
      searchOptiongs:TLocateOptions;
    begin
      searchOptiongs:=[loCaseInsensitive];
      qryYpmx.Locate('ypbh',str, searchOptiongs);
    end;
    //第一个参数为进行寻找操作的字段名,第二个参数给出字段的取值,第三个参数给出寻找选项,例如是否区分大小写等
      

  2.   

    看看Delphi帮助
    Lookup为在一个数据集中搜索你要的数据
    其原型如下:function Lookup(const KeyFields: String; const KeyValues: Variant; const ResultFields: String): Variant; override;
    第一个参数为:要搜索的字段,可以有多个,中间以分号分隔
    第二个参数为:搜索的值,如果为多个的时候,需要创建Veriant数组
    第三个参数为:要返回的字段举例:
    Dataset1.lookup('no,name',VarArrayOf('01','duanhai'),'from')
      

  3.   

    至于楼主说的下拉框的效果,不知是否是类似ComboBox的下拉框那个在DBGrid中,需要通过设置DBGrid中列的PickList的属性
    如:
    DBGrid1.Columns[0].PickList
      

  4.   

    第一个参数为:要搜索的字段,可以有多个,中间以分号分隔
    第二个参数为:搜索的值,如果为多个的时候,需要创建Veriant数组
    第三个参数为:要返回的字段
      

  5.   

    我第一次使用这个方法,有些很菜的地方请见谅。
        我现在明白前两个参数的意义,但第三个返回的字段,返回给谁?如果多个那么返回哪一个?
    是不是这样的意思:
      假如clientdataset在操作当前行,当使用这个方法时,第三个参数字段的值就会在前两个字段给出的值里面去找,然后返回给第三个字段。