Hola gente:
revivo este hilo para ver si me pueden ayudar con el problemita que tengo...
Me sirvio un montón todo lo que pusieron en el hilo este...
Puse en mi programa el código prupuesto por "el_barto", solo que lo hice para string y no booleano... Les copio el código para que no tengan que revisar hacia atras:
Código Delphi
[-]procedure TwMain.DBGrid4CellClick(Column: TColumn);begin
if Column.FieldName = 'administrador' then
begin
CDSAbmUsuario.Edit;
if CDSAbmUsuario.FindField('administrador').AsString = 'S' then
CDSAbmUsuario.FindField('administrador').AsString := 'N'
else
CDSAbmUsuario.FindField('administrador').AsString := 'S';
CDSAbmUsuario.Post;
Dbgrid4.Repaint;
end;
end;
procedure TwMain.DBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);var
Check: Integer;
R: TRect;
begin
if Column.FieldName = 'administrador' then begin
DBGrid1.Canvas.FillRect(Rect); Check := 0;
if CDSAbmUsuario.FindField('administrador').AsString = 'S' then
Check := DFCS_CHECKED; R:=Rect;
InflateRect(R,-2,-2); DrawFrameControl(DBGrid4.Canvas.Handle,R,DFC_BUTTON, DFCS_BUTTONCHECK or Check);
end;
end;
Me esta andando bastante bien el comboBox en el dbgrid...
El problema es el siguiente: hago click en el comboBox y me anda perfecto, ahora cuando vuelvo a hacer click en el mismo registro sin irme a otro desaparece el comboBox. Para que aparezca me tengo que ir a otro registro de dbgrid.....
No sé si alguien tiene alguna solución para este problema...
Desde ya agradezco sus repuestas.
Muchas gracias.
Mariano.