Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Manejo de Grillas... ¿más fácil? (https://www.clubdelphi.com/foros/showthread.php?t=69791)

subzero 09-09-2010 17:10:39

Manejo de Grillas... ¿más fácil?
 
Hola foro.

Desde hace mucho tiempo he estado trabajando con delphi, siempre ha sido un complique manipular las grillas especificamente el StringGrid. Por lo general siempre en las aplicaciones utilizo este componente para insertar, modificar o eliminar información detalle a la base de datos.... algunos se preguntaran porque no mejor utilizo los componentes de la paleta DataControls, la simple razón que tengo para ello es la facilidad en la manipulación y que no necesariamente debo mantener una conexión con la base de datos.

Luego de exponer mi justificación en el uso del componente StringGrid, existe alguna clase o método que ahorre tiempo en programación para insertar varios datos en una grilla, comparar más de una columna, eliminar una fila especifica sea por una celda de referencia o más, modificar....

Bueno en fin les agradezco de antemano si alguien conoce algo que pueda ayudarme para agilizar el proceso de de programación en grillas...

Por lo pronto sigo con un código extenso.


Saludos!

cloayza 09-09-2010 18:23:23

Encuentro contradictoria tu argumentacion...

Cita:

Empezado por subzero (Mensaje 375864)
...Desde hace mucho tiempo he estado trabajando con delphi, siempre ha sido un complique manipular las grillas especificamente el StringGrid.

Cita:

Empezado por subzero (Mensaje 375864)
existe alguna clase o método que ahorre tiempo en programación para insertar varios datos en una grilla, comparar más de una columna, eliminar una fila especifica sea por una celda de referencia o más, modificar....

Para eso estan los componentes TDBGrid, para facilitarnos la vida.

:D:D:D

Neftali [Germán.Estévez] 09-09-2010 18:49:46

Cita:

Empezado por subzero (Mensaje 375864)
...la simple razón que tengo para ello es la facilidad en la manipulación y que no necesariamente debo mantener una conexión con la base de datos.

Creo que una solución a tus necesidades podría ser utilizar TClientDataset.
Por un lado puedes estar desconectao de Base de datos y por otro lado podrás utilizar la potencia de los DBGrid si tener que recurrir al TStringGrid.

Si aun así deseas seguir trabajando con este tipo de componentes, creo que podríasutilizar algun otro más potente, que no el estandard de Delphi. Recuerdo por ejemplo, el de NextGrid o GridView de Berg Software.

BlueSteel 09-09-2010 23:26:05

Hola

Tambien puedes utilizar el NiceGrid...

lo puedes descargar desde aquí..o ver sus características

Salu2
:p:D

ContraVeneno 10-09-2010 02:18:31

no compliquen más de lo que es... el clientDataset es la solución. Trabaja desconectado sin perder ninguna característica del manejo de bases de datos. Además, añade una que otra funcionalidad interesante, como el manejo de campos calculados internamente.

subzero 11-09-2010 23:28:24

Contraveneno, como seria la utilización del ClientDataset?

ContraVeneno 13-09-2010 16:59:31

En realidad no es tan dificil. La ayuda de delphi te puede servir mucho.

Lo que necesitas es un Query para hacer la consulta a tu base de datos. Generalmente este Query (o TTable) lo enlazas a un Datasource y luego el Grid lo enlazas a este datasource para ver la información del Dataset (Query o Table):

Dataset -> DataSource -> Grid.

Para que puedas utilizar un ClientDataset, necesitas proveer de información al cliente, para esto se utiliza un DatasetProvider, el cuál enlazas a tu Dataset (Query o table).

Dataset -> DatasetProvider -> ClientDataset -> DataSource -> Grid

Una vez que tienes hecho esto, todo el trabajo que hagas, lo realizas sobre el clientDataset y este se encarga de trabajar sobre tu Dataset. Puedes trabajar con el ClientDataset igual que si estuvieras trabajar con un TQuery o un TTable; puedes ordenar, filtrar, agregar, borrar, modificar etc. Puedes definir los campos con el tipo de dato adecuado, incluso puedes crear tus propios campos (internalcalc) donde puedes hacer cálculos aunque estos no existan en tu base de datos.

Cuando ya hayas realizado todo el trabajo sobre el cliente, puedes controlar en que momento trasladas esa información a la base de datos utilizando un ApplyUpdates o un CancelUpdates en caso de que no quieras cambiar nada.

Aquí tienes un ejemplo sobre el uso del clientdataset.

maeyanes 13-09-2010 18:41:01

Hola...

[offtopic]
¿Y la grilla es la esposa del grillo? :D
[/offtopic]



Saludos...


La franja horaria es GMT +2. Ahora son las 09:04:51.

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