Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas en el pintado de un Tdbgrid (https://www.clubdelphi.com/foros/showthread.php?t=82562)

joancmb 19-03-2013 16:51:38

Problemas en el pintado de un Tdbgrid
 
Hola a todos de nuevo,
Tengo un caso raro entre manos en un formulario tengo un TDBGRID en el cual se recoge información que proviene de una BBDD, pero cuando hago un click sobre una de las líneas recuperadas la información de esta desaparece si información de la linea en cuestión, luego si pulso en qualquier elemento del formulario vuelve a aparecer esta linea, si li doy a otra linea lo mismo.
He revisado las propiedades del TDBGRID y no consigo ver cual es el problema, ha alguien se le ocurre por donde van los tiros.
Gracias.

Neftali [Germán.Estévez] 19-03-2013 18:07:01

¿Es un DBgrid estándar o es algún otro componente?
¿Has programado algo especial en referencia al "pintado" de filas, celdas,...?
¿Has modificado los colores estándar?

ecfisa 19-03-2013 18:11:50

Hola joancmb.

Por favor escribe títulos relacionados a tu problema, Tdbgrid no indica nada acerca del mismo.

Estas dando muy poca información, indícanos que bd estas utilizando, con que componentes te estas conectando, que eventos hay relacionados al DataSet o consulta, etc. Y si hay algún código involucrado, también sería de ayuda que lo publicaras.

Saludos. :)

Neftali [Germán.Estévez] 19-03-2013 18:19:19

En este caso ya lo he cambiado yo.

joancmb 20-03-2013 09:27:56

Hola,
El elemento utilizado es un DBGRID normal, el que esta en la Paleta de herramientas en los Data Controls.
No he modificado los colores.
Os pongo el codigo para ver si alguién ve alguna cosa rara.
Código Delphi [-]
procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure dshistoriasDataChange(Sender: TObject; Field: TField);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

uses  Unit1, Unit11;

procedure TForm2.Button1Click(Sender: TObject);
begin
if ehistoria.Text='0' then
begin
  qhistorias.Close;
  qhistorias.SQL.Clear;
  qhistorias.SQL.Add('select * from tabla where apel1 like'+''''+eapellido1.Text+''''+' and apel2 like '+''''+eapellido2.Text+''''+' and nombre like '+''''+enombre.Text+'''');
  qhistorias.sql.Add(' order by apel1,apel2,nombre');
  qhistorias.Open;
end;
if ehistoria.text<>'0'  then
begin
  qhistorias.close;
  qhistorias.sql.clear;
  qhistorias.sql.add('select * from tabla where codhis='+ehistoria.text+' order by codhis');
  qhistorias.open;
end;
ehistoria.text:='0';
eapellido1.text:='%';
eapellido2.text:='%';
enombre.text:='%';

end;

procedure TForm2.Button2Click(Sender: TObject);
begin

tdtinetti.Insert;
tdtinettiHistoria.value:=qhistoriascodhis.value;
tdtinettiDprova.Value:=date;
tdtinetti.Post;
tdtinetti.Edit;
form11.ShowModal;
if form11.ModalResult=mrok then tdtinetti.Post else tdtinetti.Cancel;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
close;
end;

procedure TForm2.DBGrid2DblClick(Sender: TObject);
begin
Form11.showmodal;
end;

procedure TForm2.dshistoriasDataChange(Sender: TObject; Field: TField);
begin
tdtinetti.Close;
tdtinetti.Parameters.ParamByName('ehistoria').Value:=qhistoriascodhis.Value;
tdtinetti.Open;
end;



procedure TForm2.FormShow(Sender: TObject);
begin
    adoconnection1.Open;
    adoconnection2.Open;
    qhistorias.Open;

    if paramcount>0 then
       begin
          ehistoria.Text:=paramstr(2);
          button1.click;
       end
    else
    begin
       ehistoria.Text:='0';
    end;
    qusuarios.Close;
    qusuarios.Parameters.ParamByName('eusuario').Value:=form1.usuario.Text;
    qusuarios.Open;
end;


end.
Gracias.

joancmb 20-03-2013 13:14:05

Hola a todos,
ya he solucionado el problema en la propiedad drawingStyle del DBGRID le he puesto la opción gdsGradient y ya funciona bien.
Gracias a todos.


La franja horaria es GMT +2. Ahora son las 10:07:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi