当有字段设置成lookup类型时 在编辑时dbgrid自动会将该列设置成TDBGridInplaceEdit 
请问如何访问这个TDBGridInplaceEdit 类呢 比如说 将光标定位到该列 就使它自动DropDown
这个问题一直烦透了我。 希望在这能得到解决

解决方案 »

  1.   

    静态的就直接在dbgrid中的相应字段的picklist属性里加
    如果是动态的就在要出现下拉表的字段的onColEnter事件里写:procedure TFBdgeneral.dbgAttribColEnter(Sender: TObject);
    begin
      //点取'XX'字段时下拉菜单
      if dbgAttrib.SelectedField.FieldName='XX' then
      begin
        maindm.ClientmyQuery.Close;
        maindm.ClientmyQuery.CommandText:='SELECT content FROM table';
        maindm.ClientmyQuery.Open;
        dbgAttrib.Columns[1].PickList.Clear;//表示colums[1]表示dbgattrib中的第二个字段
        if maindm.ClientmyQuery.RecordCount>0 then
        begin
          maindm.ClientmyQuery.First;
          while not maindm.ClientmyQuery.Eof do
          begin
            dbgAttrib.Columns[1].PickList.Add(trim(maindm.ClientmyQuery.Fieldbyname('content').asstring));//动态地把查寻到的内容一个个加到你的下拉表里
            maindm.ClientmyQuery.Next;
          end;
        end;
        maindm.ClientmyQuery.Close;
      end;
    end;
    就不用设置成lookup类型