Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   String Grids (https://www.clubdelphi.com/foros/showthread.php?t=13869)

naker 02-09-2004 05:01:42

String Grids
 
hola a todos! bueno, tengo un problemita q no se como solucionarlo...
tengo un string Grid el cual va a creciendo a medida que ingreso datos. El tema, es que yo quisiera hacer que el string grid quede "posicionado" en el ultimo elemento que yo agrego, y no en el primero como me esta sucediendo.
Para agregar un elemento, yo tengo unos TEdit donde se ingresan los datos, y luego presiono un boton donde se carga el String Grid. El tema es q cuando apreto el boton, el elemento se inserta, pero no puedo hacer que quede visualizado el ultimo elemento ingresado...
Bueno, espero q puedan ayudarme!
Desde ya, muchas gracias!!

P.D: Estoy usando Delphi 6

fmonte 02-09-2004 06:22:58

El Problema que tenes me parece que un problema entre el teclado y la silla.
JEJEJEJE.

roman 02-09-2004 06:38:24

¿Cómo estás insertando elementos en el StringGrid? ¿Con qué método?

// Saludos

naker 02-09-2004 06:53:40

Detalle.Cells[0,indiceGrid]:=Cant.Text;
Detalle.Cells[1,indiceGrid]:=CodProducto.Text;
Detalle.Cells[2,indiceGrid]:=DbGrid.DataSource.DataSet.Fields[1].AsString; //descripcion
Detalle.Cells[3,indiceGrid]:=DbGrid.DataSource.DataSet.Fields[2].AsString; //precio unitario
Detalle.Cells[4,indiceGrid]:=FloatToStr(StrToFloat(Cant.Text)*StrToFloat(DbGrid.datasource.DataSet.Fields[2].AsString)); //subtotal
total.Text:=FloatToStr(StrToFloat(total.Text) + StrToFloat(Detalle.Cells[4,indiceGrid]));
indiceGrid:=indiceGrid+1;
Detalle.RowCount:=indiceGrid;

donde indiceGrid es una variable global que lleva el indice en donde debo insertar el nuevo elemento..

roman 02-09-2004 07:12:46

Bueno pero, las filas nuevas se insertan siempre al final ¿no? Y más que quedarse posicionado en la primera fila se queda en la fila en la que estaba (prueba cambiando de fila antes de insertar una nueva).

En todo caso la propiedad Row del StringGrid te permite colocar la selección en cualquier renglón que desees; en tu caso supongo que algo como:

Código Delphi [-]
Detalle.Row := IndiceGrid;
IndiceGrid := IndiceGrid + 1;

aunque según yo sería lo mismo que

Código Delphi [-]
Detalle.Row := Detalle.RowCount - 1;

Realmento no entiendo el uso de IndiceGrid. En un StringGrid sólo pueden insertarse filas al final.

// Saludos


La franja horaria es GMT +2. Ahora son las 08:16:21.

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