TDBGridEh如何加入下拉框,什么是lookup字段例子没看懂

解决方案 »

  1.   

    双击DBGRIDEH,添加DBGRIDEH连接的数据集的所有字段,在字段栏中有字段类型,如果是查询字段则处理下拉框……
      

  2.   

    显示下拉方式的列 
    你可以通过KeyList 和 PickList 属性在相关的的字段中显示其它文本。KeyList显示包含在字段的值而非PickList索引所包含的值。 Column.NotInKeyListIndex to index of text from PickList that will be shown if field value do not contain in KeyList (for instance you can set index of text for Null field value). Set Column.DblClickNextval to True to change value on mouse double click. 
      

  3.   

    静态的就直接在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;//改动一下,你就可以在某字段下的某条记录加上不同的下拉表