Un tutorial de uso del stringgrid?
Pues eso ¿alguien tendra o sabra de un tutorial del stringgrid?
Nunca lo he usado y al parecer ahora lo voy a necesitar y no le entiendo nadita al bicho ese. Gracias. |
Hola
No conozco ningun tutorial, pero no lo veo muy complicado y te lo dice un novato. Que necesitas hacer?, Que dudas tienes?. A ver si te ayudo en lo que pueda, que sera poco...... Saludos |
Estoy de acuerdo con Caral, en que es un componente bastante básuico e intuitivo.
Aun así le puedes echar un vistazo a esta página, donde explica las operaciones y propiedades básicas. Si haces una búsqueda en los foros por StringGrid, posiblemente encontrarás cientos de mensajes sobre la mayoría de operaciones que puedes realizar con él. Por último en el FTP del club, puedes encontrar varios ejemplos con código al respecto. |
Gracias por las respuestas.
Aun ando en "veremos" no defino exactamente lo que quiero, pero por lo mientras voy a ver esa pagina que recomienda Neftali. Tambien pense en NiceGrid pero no se si se podra instalar y funcione en d2010. Amenazo con regresar. |
Pues si ya esta lo que necesito mostrar:
-------------------------------------------------------------------------------------------------------------------------- Primer Turno | Segundo Turno | Tercer Turno | -------------------------------------------------------------------------------------------------------------------------- |Operaciones | Acumulado | |Operaciones | Acumulado | |Operaciones | Acumulado | -------------------------------------------------------------------------------------------------------------------------- 06:00 - 07:00 | 1500 | 75,000.00 |14:00 - 15:00 | 1500 | 75,000.00 |22:00 - 23:00 | 1500 | 75,000.00 | -------------------------------------------------------------------------------------------------------------------------- 07:00 - 08:00 | 1500 | 75,000.00 |15:00 - 16:00 | 1500 | 75,000.00 |23:00 - 00:00 | 1500 | 75,000.00 | -------------------------------------------------------------------------------------------------------------------------- 08:00 - 09:00 | 1500 | 75,000.00 |16:00 - 17:00 | 1500 | 75,000.00 |00:00 - 01:00 | 1500 | 75,000.00 | -------------------------------------------------------------------------------------------------------------------------- 09:00 - 10:00 | 1500 | 75,000.00 |17:00 - 18:00 | 1500 | 75,000.00 |01:00 - 02:00 | 1500 | 75,000.00 | -------------------------------------------------------------------------------------------------------------------------- 10:00 - 11:00 | 1500 | 75,000.00 |18:00 - 19:00 | 1500 | 75,000.00 |02:00 - 03:00 | 1500 | 75,000.00 | -------------------------------------------------------------------------------------------------------------------------- 11:00 - 12:00 | 1500 | 75,000.00 |19:00 - 20:00 | 1500 | 75,000.00 |03:00 - 04:00 | 1500 | 75,000.00 | -------------------------------------------------------------------------------------------------------------------------- 12:00 - 13:00 | 1500 | 75,000.00 |20:00 - 21:00 | 1500 | 75,000.00 |04:00 - 05:00 | 1500 | 75,000.00 | -------------------------------------------------------------------------------------------------------------------------- 13:00 - 14:00 | 1500 | 75,000.00 |21:00 - 22:00 | 1500 | 75,000.00 |05:00 - 06:00 | 1500 | 75,000.00 | -------------------------------------------------------------------------------------------------------------------------- Resumen | 12,000 | 600,000.00 |Resumen | 12,000 | 600,000.00 |Resumen | 12,000 | 600,000.00 | -------------------------------------------------------------------------------------------------------------------------- La idea es mostrar los datos de fabricacion de una sola vista, que el operador no tenga que mover el raton o el teclado para actualizarse al momento. Las columnas horario son fijas y las filas de titulos tambien. Por lo que he visto con el stringgrid solo podre hacerlo en forma vertical y explorar con la barra vertical, o la otra chapucera meter un TPanel y dentro de el tres (3) TStringgrid. ¿Alguna otra idea? |
Hola
No entiendo amigo. Segun lo que veo necesitas dos lineas horizontales fijas arriba para los titulos y nueve columnas verticales fijas para los horarios y el resumen. El resto de la informacion me imagino que sera sacada de la BD. No entiendo el problema, el stringgrid puede hacer eso sin problemas. Tal vez entiendo mal. Saludos |
Hola
Aqui tienes un ejemplo de lo que pides. Espero te de alguna idea. Saludos PD: No le pidas mucho es hecho por un Novato.:D |
¿un TjvMemoryData? (jv = JEDI VCL)
lo puedes llenar con los campos que necesites y le puedes dar todo el manejo que le darías a una base de datos... al menos no tendrías que manejar todo como cadenas y tener que estar haciendo conversiones... ¿un clientdataset? Este tiene las mismas ventajas que el TjvmemoryData más algunas otras monerías en caso de que lo fueras a enlazar a una base de datos... |
1 Archivos Adjunto(s)
Bueno a lo que habia llegado hasta el momento es:
No pongo el archivo pues uso d2010 y parece ser que no es posible abrirlo con versiones anteriores. El formulario es un simple form con un StringGrid. El codigo de la Unit le da tamaño y posicion. Editando: Caral como puedes ver para la columna horario estoy usando la propiedad FixedRows, tu ejemplo me dio otras ideas. Contraveneno la verdad no me caen muy bien las jedi, ya d2010 se tarda años en arrancar y todavia cargar la JVCL..... De todos modos no hecho en saco roto tu propuesta. |
Hola
Me alegra que te sirviera de algo. Lo hice en un ratito, pero se pueden hacer muchas cosas con este componente. Yo lo uso en mi sistema en varios form, sobre todo en el de facturacion. Saludos |
1 Archivos Adjunto(s)
Hice unas modificaciones para ver la rejilla como la necesito pero me he topado con problemas al dibujarla.
Del codigo anterior que puse modifique esta propiedad del StringGrid
Una manita para ver por que no se redibuja correctamente. |
Cita:
El stringGrid posee propiedades para definir cuantas filas y cuantas columnas fijas necesitas. |
Cita:
|
Cita:
¿Se trata de que se dibuje como en la imagen que adjuntas? Puedes automatizar las cosas; Por ejemplo, para rellenar las horas puedes usar algo así:
|
Lo bueno del TStringGrid es que el pintado es relatívamente sencillo; POr ejemplo, para el tema de los títulos con algo de código en el evento OnDrawCell puedes conseguir algo así:
|
Cita:
|
Algunos otros usamos Delphi2010 para los nuevos y Delphi6 para los antiguos... :)
|
Cada uno disfruta como mejor le parece..... ;)
|
Pues si, Neftali entendiste perfectamente lo que quiero hacer con la StringGrid. Por vistosidad queria colorear las columnas de los horarios pero con el codigo que puse en mi ultimo mensaje si se coloreaban, pero solo la primera columna mostraba el texto de los horarios mientras que las columnas 3 y 6 solo mostraban el color no se pintaba el texto. Esos eran mis problemas.
El codigo que muestras me indica que no se nada de nada!!! :( :( :( Yapt, mil disculpas, en ningun momento fue intencion menospreciar a alguien por lo del d2010 |
Cita:
Si añades código al que te he puesto, no te será muy dicícil añadir coloración a las columnas. |
Cita:
Cita:
|
1 Archivos Adjunto(s)
mmmmm....
Ya parezco disco rayado (:D para lo que conocieron los discos LP :rolleyes:) Pues aqui esta el codigo que llevo, sin embargo no logro hacer que al colorear la columna de horarios se pinte el texto correctamente. Todo esto lo estoy haciendo en el evento OnDrawCell. Errores: El texto se dibuja pero no en el orden adecuado, todo se repite en cada columna. Las celdas de las columnas del horario aparecen con un marco el cual desaparece si se hace click en ellas El codigo con el que lleno las columnas de horarios funciona ok. Todo el relajo se hace al querer pintar las columnas de los horarios Agradezco sus comentarios y sugerencias para arreglar el codigo. |
Hola
Mi pobre delphi 6 se pega con el codigo, no lo puede ni abrir. Saludos |
Cita:
Podrias hacer esto descomprime el archivo. En delphi 6 creas un nuevo proyecto de delphi 6. Desde el menu vas a project y le dices que agrege la unit1.pas que descomprimiste, salva el proyecto pero no le salves la unidad que por defecto creo d6. El proyecto deberia compilar y crear el dpr y el dcu. Comentas como te fue. |
Cita:
¿En sero Carlos? Yo lo acabo de abrir con D6 sin problemas. Sólo hay que crear el directorio de DCUs dentro del de proyecto (donde coloca por defecto los DCUs) y comentar la siguiente línea del DPR:
¿Qué error ta da? Si no hay controles extraños, no deberia haber problemas. |
Cita:
Y el procedimiento lo simplificas así:
Funciona perfectamente (sólo basta replicarlo en los otros dos). Y si me apuras mucho, eso tres puedes juntarlo en uno sólo (eso para más adelante :D:D;)). (2) El tema del marco que desaparece, no es ningun misterio ;), simplemente es que te has dejado de añadir a línea:
En los procedimientos _PaintHourCol0, _PaintHourCol3, _PaintHourCol6 en la segunda parte cuando pintas sobre el canvas. Si añades la línea:
Controlas si el recuadro está más ajustado al borde o menos:
Una cosa más. Pare evitar este efecto en las celdas: En la propiedad Options, pon goFixedVertLine a FALSE. En diseño. |
1 Archivos Adjunto(s)
Bueno, pues ya corregi tal cual me comentaste y al parecer ya esta listo.
|
Cita:
Como vez, al final no ha sido tan difícil... ;) |
hola a todos
|
Cita:
|
hola a todos
Hola a todos
|
Cita:
|
La franja horaria es GMT +2. Ahora son las 14:36:26. |
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