如题,当点击的dbgrid的field与dbcombobox的field相同时,dbcombobox则成为可选择项。

解决方案 »

  1.   

    dbcombobox则成为可选择项。什么意思啊?
      

  2.   

    点击dbgrid某一列,如果field名相同,则dbcombobox出来
      

  3.   

    将值加入该列的packlist中即可
      

  4.   

    请问packlist怎么动态赋值啊?谢谢
      

  5.   

    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      if Column.Index = 5 then
      begin
        Column.PickList.Clear;
        Column.PickList.Add();//加入值
      end;
    end;
      

  6.   

    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      if Column.Index = 5 then
      begin
        Column.ButtonStyle:=csAuto;
        Column.PickList.Clear;
        Column.PickList.Add();//加入值
      end;
    end;
      

  7.   

    用DBgridEh吧,不用自己设Combobox的,会自动弹出的。
      

  8.   

    ”用DBgridEh吧,不用自己设Combobox的,会自动弹出的。“
    在哪里有下载?
      

  9.   

    在form上先加一个dbcombobox,datafield设置为你想要的
    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    begin
      if (gdFocused in State) then
      begin
        if (Field.FieldName = DBComboBox1.DataField ) then
        begin
          DBComboBox1.Left := Rect.Left + DBGrid1.Left;
          DBComboBox1.Top := Rect.Top + DBGrid1.top;
          DBComboBox1.Width := Rect.Right - Rect.Left;
          DBComboBox1.Height := Rect.Bottom - Rect.Top;
          DBComboBox1.Visible := True;
        end;    end;
    end;