PDA

Ver la Versión Completa : Manejo de Grillas... ¿más fácil?


subzero
09-09-2010, 17:10:39
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...


...Desde hace mucho tiempo he estado trabajando con delphi, siempre ha sido un complique manipular las grillas especificamente el 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....


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

:D:D:D

Neftali [Germán.Estévez]
09-09-2010, 18:49:46
...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í.. (http://www.priyatna.org/nicegrid.php)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. (http://edn.embarcadero.com/article/30330)

maeyanes
13-09-2010, 18:41:01
Hola...


¿Y la grilla es la esposa del grillo? :D




Saludos...