Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Multiselect en DbGrid sin Ctrl (https://www.clubdelphi.com/foros/showthread.php?t=12541)

taita 20-07-2004 11:50:20

Multiselect en DbGrid sin Ctrl
 
Hola a tod@s:
Quisiera saber si alguien puede ayudarme con la siguiente cuestión.
Tengo un DbGrid del que deseo seleccionar varios ítems de una lista. Deseo que éstos queden seleccionados simplemente al hacer 'Click' sobre ellos, uno a uno. Ya he activado el multiselect y funciona con la tecla Ctrl.
Otra cuestión es si existe alguna forma de seleccionar ítems de este Dbgrid a través del método de arrastrar y soltar, haciendo un recuadro mientras dejo pulsado el botón izquierdo del ratón... como en muchas aplicaciones.
Se puede hacer algo de esto?
Gracias y hasta pronto!.

Gydba 20-07-2004 14:35:18

Me suena bastante raro esto. Considerando que un Dbgrid refleja un dataset, es decir en teoría cualquier cambio en la grilla debería alterar el dataset y esto es algo que no le puedo encontrar mucha utilidad por las cosas que necesitas.

Respondiendo a tu pregunta: si es posible realizar algo así. Lo que pasa es que va a ser un tanto complicado.

Un control que hace más o menos lo que decís es el ListView. Sino componentes comerciales DataAware hay un par por internet, que de mayor o menor medida hacer lo que pedís.

También podrías buscar en Torry algo que te sirva, hay un par de grillas que vale la pena ver. Entre ellas te recomendaría que mires la que viene en el paquete ExDBGrid Component Suite v.3.7

Siento no poder ser más preciso, pero considerá que tu problema es bastante extenso de responder si se quiere que se entienda algo.

Saludos!

taita 27-07-2004 10:25:05

Hola Gydba:

Gracias por contestar. Lo que me interesa realmente es que al hacer un simple 'click' en el objeto DbGrid (con propiedades rowselect y multiselect activas), la celda que ha sido pulsada quede marcada como seleccionada, manteniendo marcadas también las que estaban anteriormente seleccionadas.
La utilidad es sencilla, realizar procesos por lotes con los datos que muestro en el DbGrid.
Sé cómo hacer que las celdas (en este caso filas) queden seleccionadas, pero no sé como hacer para que se seleccionen sin necesidad de mantener presionada la tecla Ctrl, es decir, con un simple 'click'.
Sobre el uso de componentes externos, no veo necesidad de hacerlo, ya que creo que ha de ser posible realizarlo utilizando utilizando los componentes y métodos standars que trae el Delphi 7 por defecto.

Bueno, a ver si alguien tiene alguna sugerencia para poder hacer esto que he planteado.
Saludos a tod@s

taita 27-07-2004 10:30:27

Hola de nuevo:

Otra duda que se me acaba de plantear es el cómo hacer para poder ordenar los datos de un DbGrid, al pulsar una de las cabeceras de las columnas de datos que en el se muestran?

acrophet 27-07-2004 11:46:18

Pues para hacer eso debes usar el evento OnTitleClick del dbgrid y ahi dentro meter tus selects o lo que quieras hacer.
Por cierto, el nombre de la columna es column.Field.FieldName, te hara falta para hacer las consultas sql.
Un saludo.

Gydba 27-07-2004 21:52:24

Sobre el ordenamiento:
http://www.clubdelphi.com/foros/show...dbgrid+ordenar
http://www.clubdelphi.com/foros/show...dbgrid+ordenar
http://www.clubdelphi.com/foros/showthread.php?t=7524&

En cuanto a lo otro:
La RxDBGrid trae un evento (OnDrawColumnCell) que permite manipular el color y otras yerbas de las filas. Tal vez conbinando SelectedRows podrías hacer algo, pero como dije antes sería demasiado largo de explicar.

taita 03-08-2004 11:16:11

Gracias a ambos por responder.
Deciros que me han sido bastante útiles vuestros consejos. Esto ya está casi listo.
Gracias de nuevo.


La franja horaria es GMT +2. Ahora son las 08:53:58.

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