Tengo problemas para mantener las propiedades, que le defino a un
DBGrid (DBGrid1) por codigo, luego de actualizar el
ADOStoredProc (sp1) que lo alimenta haciendo un
Open-Close del mismo.
Puntualmente las propiedades que se modifican, son las referidas a las columnas, por medio de
Columns[x]: ancho, letra, tamaño. El resto queda igual que antes de actualizar...
Estuve modificando el orden de las lineas, pero no logro solucionar el problema.
Desde ya agradezco vuestra ayuda.
Un abrazo.
Envio la
Unit1, para aclarar mejor el tema:
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
conSQL:TADOconnection;
sp1:TADOStoredProc;
ds1:TDataSource;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
cadenaSQL: String;
begin
conSQL:=TADOConnection.Create(self);
cadenaSQL:='Provider=SQLOLEDB.1;Password=1;Persist Security Info=True;'+
'User ID=Usu1;Initial Catalog=MiBase;Data Source=10.97.42.225';
conSQL.ConnectionString:= cadenaSQL;
conSQL.LoginPrompt:= false;
conSQL.Connected:= true;
sp1:=TADOStoredProc.Create(self);
sp1.Connection:= conSQL;
sp1.ProcedureName:= 'SPLogEventos';
sp1.Active:=true;
ds1:=TDataSource.Create(self);
ds1.DataSet:= sp1;
with DBGrid1 do
begin
DataSource:= ds1;
Options:=[dgRowSelect,dgTitles,dgConfirmDelete,dgCancelOnExit]; Ctl3D:= False;
FixedColor:= clYellow;
Color:=clBlack;
TitleFont.Name:= 'Arial';
TitleFont.Size:= 10;
TitleFont.Style:=[fsBold];
Columns[0].Width:=100; Columns[1].Width:=140; Columns[2].Width:=200; Columns[3].Width:=80;
Font.Name:= 'Tahoma'; Font.Color:= clYellow;
Columns[0].Font.Name:= 'Webdings';
Columns[0].Font.Size:= 30;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
sp1.Close;
sp1.Open;
end;
end.