Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Agregar datos a un string grid (https://www.clubdelphi.com/foros/showthread.php?t=33389)

zvf 05-07-2006 17:58:20

Agregar datos a un string grid
 
Hola!!

Yo nunca he utilizado un string grid, y no puedo llenarlo de datos, siempre me aparece un access violation.

Tengo lo siguiente:
Código Delphi [-]
   var
   i, j:Integer;
   Str:String;
   TS:TStrings;
 begin
  //LLENO STRING GRID
  Form1.StringGrid1.Cells[0,0]:='1';
  Form1.StringGrid1.Cells[1,0]:='1';
  Form1.StringGrid1.Cells[2,0]:='1';
  Form1.StringGrid1.Cells[3,0]:='1';
  Form1.StringGrid1.Cells[4,0]:='1';
     // Inicializamos
   // initialize
   Str := '';
   // Para cada línea de las selecciondas
   // for selected lines
   for i := (Form1.StringGrid1.Selection.Top) to (Form1.StringGrid1.Selection.Bottom) do
 begin
     /////y comienza el codigo para realizar lo que se tiene que hacer con las filas seleccionadas del StringGrid1

GRACIAS!!

fer21unmsm 05-07-2006 18:38:40

Cita:

Empezado por zvf
Hola!!

Yo nunca he utilizado un string grid, y no puedo llenarlo de datos, siempre me aparece un access violation.

Tengo lo siguiente:
Código Delphi [-] var i, j:Integer; Str:String; TS:TStrings; begin //LLENO STRING GRID Form1.StringGrid1.Cells[0,0]:='1'; Form1.StringGrid1.Cells[1,0]:='1'; Form1.StringGrid1.Cells[2,0]:='1'; Form1.StringGrid1.Cells[3,0]:='1'; Form1.StringGrid1.Cells[4,0]:='1'; // Inicializamos // initialize Str := ''; // Para cada línea de las selecciondas // for selected lines for i := (Form1.StringGrid1.Selection.Top) to (Form1.StringGrid1.Selection.Bottom) do begin /////y comienza el codigo para realizar lo que se tiene que hacer con las filas seleccionadas del StringGrid1


GRACIAS!!

Hola zvh, creo que el error de access violation puede deberse a lo siguiente:

Has creado los objetos por ejmeplo
Código Delphi [-]
   TS:=TStrings.Create;

Segundo para poder agregar datos a tu StringGrid tienes que aumentar la propiedad RowCount Ejemplo:

Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin

StringGrid1.ColCount:=4;
StringGrid1.RowCount:=2; //si en RowCount siempre tiene que ser mayor que FixedRows, lo mismo sucede con ColCount y FixedCols

//cabeceras
StringGrid1.FixedRows:=1; //indica que la primera fila va a contener las cabeceras de cada columna
StringGrid1.FixedCols:=0; 

//Hay que recordar que del 0-3 hay 4 columnas
StringGrid1.Cells[0,0]:= 'Nombre';
StringGrid1.Cells[1,0]:= 'Apellido';
StringGrid1.Cells[2,0]:= 'Edad';
StringGrid1.Cells[3,0]:= 'Telefono';

//Si queremos llenar la grilla con datos se hace lo siguiente por ejemplo

for i:=1 to 10 do
begin
  StringGrid1.Cells[0,i]:= 'dato1';  //"i" significa la fila de la celda 
  StringGrid1.Cells[1,i]:= 'dato2';
  StringGrid1.Cells[2,i]:= 'dato3';
  StringGrid1.Cells[3,i]:= 'dato4';
  StringGrid1.RowCount:=StringGrid1.RowCount+1; //agregamos una fila más
end;
//al final de este ciclo nos quedará una fila en blanco, pero puedes cambiarlo si no lo deseas.
end;

Saludos.

zvf 05-07-2006 18:55:54

MUCHISIMAS GRACIAS POR TU AYUDA!!!!

Yo se que son cosas muy simples, pero no he podido conseguir un libro de delphi como bibliografia, y gracias a este foro he podido sacar adelante algunos proyectos.

GRACIAS A TODOS POR SU TIEMPO!!!!!:)


La franja horaria es GMT +2. Ahora son las 23:19:43.

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