Ver Mensaje Individual
  #3  
Antiguo 31-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola tiammat.

Proba de este modo:
Código Delphi [-]
procedure TForm1.AjustarColumna(aStringGrid: TStringGrid; aDataSet: TDataSet; const aCol: Integer);
var
  i, MaxSize: Integer;
begin
  aStringGrid.RowCount := aDataSet.FieldCount + 1;
  MaxSize := 0;
  for i := 0 to aDataSet.Fields.Count-1 do
    if Canvas.TextWidth(aDataSet.Fields[i].DisplayLabel) > MaxSize then
      MaxSize := Canvas.TextWidth(' '+UpperCase(aDataSet.Fields[i].DisplayLabel)+' ');
  aStringGrid.ColWidths[aCol]:= MaxSize;
  // mostrar
  for i := 0 to aDataset.Fields.Count-1 do
    aStringGrid.Cells[aCol, i+1] := aDataSet.Fields[i].DisplayLabel;
end;

Llamada de ejemplo:
Código Delphi [-]
   AjustarColumna(StringGrid1, IBDataSet1, 0);

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 31-08-2012 a las 20:29:09. Razón: correccion
Responder Con Cita