Ver Mensaje Individual
  #2  
Antiguo 05-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
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 calcena.

Creo que esto es lo que buscas:
Código Delphi [-]
procedure TForm1.FormShow(Sender: TObject);
var
 i: Integer;
begin
  Query .Open;
  // considerar si hay columnas fijas y ajustar nro de columnas
  StrGrd.ColCount:= StrGrd.FixedCols + Query .FieldCount + 1;
  // tantas filas como nros de registros
  StrGrd.RowCount:= Query .RecordCount;
  // Ocultar columna con RecNo
  StrGrd.ColWidths[StrGrd.FixedCols]:= 0;
  // Poner nombres de campos en fila 0 ( si queres...)
  for i:= 0 to Query .FieldCount-1 do
    StrGrd.Cells[StrGrd.FixedCols+i+1,0]:= Query .Fields[i].FieldName;
  // Cargar campos en StringGrid
  while not Query .Eof do
  begin
    // primera columna oculta contiene el número de registro
    StrGrd.Cells[StrGrd.FixedCols,Query .RecNo]:= IntToStr(Query .RecNo);
    // resto de los campos al StringGrid
    for i:= 1 to Query .FieldCount do
      StrGrd.Cells[StrGrd.FixedCols+i,Query .RecNo]:= Query .Fields[i-1].AsString;
    Query .Next;
  end;
  Query .Close;
end;

procedure TForm1.StrGrdSelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
begin
  // Mostrar número de registro en título del form
  Caption:= Format('%s de %d',
    [StrGrd.Cells[StrGrd.FixedCols, ARow], StrGrd.RowCount]);
end;

No sabía donde lo querías mostrar el mensaje así que lo hago en el Caption del Form, pero vos podés ubicarlo donde más te guste.
Otra opción es hacer FixedCols = 1 y poner allí el RecNo, pero me parece que no es lo que querías...


Saludos.

Última edición por ecfisa fecha: 05-12-2010 a las 21:03:36.
Responder Con Cita