Para Baltasar...

Laonardo
14 de Octubre del 2003
Gracias por responder:
Si no puedo poner color a una celda de datagrid, como lo hago en un flexgrid?
Otra pregunta: Puedo en un mismo projecto usar controles datas enlasados con dbgrid y ado con flexgrid? pasa que ya tengo el sistema bastante avanzado y no quiero cambiar todos los controles ya que son muchos los formularios.
Mil garcias nuevamente Baltasar. Saludos.
Leonardo

Baltasar
14 de Octubre del 2003
Perfectamente puedes usar los dos sistemas, pero te aconsejo, si ya tienes una aplicacion creada, que simplemente uses el msflexgrid para mostrar los datos, esto es, cargas el data como control enlazado, y luego lo recorresa través de código y vas llenando el msflexgrid. Si quieres te pongo un ejemplo sencillo.

primero pones el numero de columnas que ha de tener el msflexgrid, digamos por ejemplo 7 :

mgrid.cols=7

luego lo rellenas con el data, y para ello te situas en el primer registro y vas sacando cada uno de los campos de tu base de datos (supongo que eso sí sabrás hacerlo) y los depositas en el msflexgrid. Como en principio no sabes el número de filas que necesitas, pues vamos poco a poco haciendo el grid del tamaño que queramos, con la variable Mfilas, que inicialmente la ponemos a 0, así para cada registro de tu base de datos, harías lo siguiente:

mfilas=mfilas+1
mgrid.rows=filas
mgrid.textmatrix(mfilas-1,0)=data1!campo1
mgrid.textmatrix(mfilas-1,1)=data1!campo2
.
.
.
hasta llenar esa fila
luego:

data1.movenext


todo esto iría en un buqle, pero eso lo dejo en tus manos.

lo del color de las celdas, es así: si deseas que la celda 3,8 sea verde, ponemos:
mgrid.row=3
mgrid.col=8
mgrid.cellbackcolor=rgb(0,255,0)

Por supuesto que si aprovechas el momento de rellenar el grid para ponerle los colores en funcion de los valores de la base de datos, pues lo tendrás más rápido.

espero que se entienda el ejemplo.

Y aconsejo mirar las propiedades del msflexgrid, ya que además podemos hacer que el texto salga a la izquierda, centrado, a la derecha, con colores, con tipos de letra distintos, etc etc. Es muy flexible: será por eso su nombre?

Saludos

leonarod
14 de Octubre del 2003
Mil gracias Baltasar. Sos un genio.