怎么样在dbgrid中显示combobox啊

解决方案 »

  1.   


    楼主的'gan1101'不会是冲着我的吧
    :)
      

  2.   

    给你点代码
    --------------------------------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;procedure TForm1.DBGrid1ColExit(Sender: TObject);
    begin
    If DBGrid1.SelectedField.FieldName = DBComboBox1.DataField then
    begin
    DBComboBox1.Visible := false;
    end;
    end;procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
    begin
    if (key $#@60; $#@62; chr(9)) then
    begin
    if (DBGrid1.SelectedField.FieldName =DBComboBox1.DataField) then
    begin
    DBComboBox1.SetFocus;
    SendMessage(DBComboBox1.Handle, WM_Char, word(Key), 0);
    end;
    end;
    end;