In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

ayuda con TbrowswMod

Foro de Xailer profesional en español
Responder
Arvisnet
Mensajes: 47
Registrado: Jue Nov 12, 2015 5:44 am

ayuda con TbrowswMod

Mensaje por Arvisnet »

Saludos:
estoy intentando cambiar mis aplicaciones al nuevo browse, pero tengo unas dudas:

como se manejan las columnas en el tbrowsemod.

1-cambiar el color del renglon dependiente del valor de un campo
2-cambiar el texto de una columna especifica dependiendo de un valor

en el dbBrowse es muy sencllo con BrwCliColumn3GetData( oSender, Value, nImage ) ; cual es el equivalente en el moderno?

gracias a todos.
saludos cordiales.
acentos omitidos a proposito.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9283
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: ayuda con TbrowswMod

Mensaje por ignacio »

Buenas tardes,

A diferencia del browse original, las columnas del browse NO TIENEN eventos. Y está hecho adrede. Tiene mucho más sentido que los eventos se ruten por el control principal (mi opinión).

Tiene que usar el evento OnDrawCell, el cual recibe como segundo parámetro el objeto columna que se pretende pintar. Si quiere cambiar el color de toda la fila, sencillamente realice:

Código: Seleccionar todo

nClrPane := cNuevoColor
Si además quiere cambiarlo para una determinada columna:

Código: Seleccionar todo

IF oCol:?????
  nClrPane := cMiOtroNuevoColor
ENDIF
Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Arvisnet
Mensajes: 47
Registrado: Jue Nov 12, 2015 5:44 am

Re: ayuda con TbrowswMod

Mensaje por Arvisnet »

Gracias por responder.

pero sigo sin entender el funcionamiento de las columnas en el nuevo browse..

seguire investigando..
saludos cordiales
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9283
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: ayuda con TbrowswMod

Mensaje por ignacio »

Buenos días,

Código: Seleccionar todo

METHOD DbBrowseMod1DrawCell( oSender, oCol, nIndex, xValue, cValue, nImage, nClrText, nClrPane, nState, hDC, aRect ) CLASS TForm1

   IF oCol:cHeader == "First"
      nClrText := clBlue
   ENDIF

   IF oSender:oDataset:State = "ME"
      nClrPane := clYellow
   ENDIF

RETURN Nil
Le ruego me indique que es lo que no entiende. Gracias.

Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Arvisnet
Mensajes: 47
Registrado: Jue Nov 12, 2015 5:44 am

Re: ayuda con TbrowswMod

Mensaje por Arvisnet »

Gracias Mr Ignacio, ya entendi.
Saludos cordiales.
Arvisnet
Mensajes: 47
Registrado: Jue Nov 12, 2015 5:44 am

Re: ayuda con TbrowswMod

Mensaje por Arvisnet »

solo una duda, cuando en una columna le pones cVarName = loQueSea , ya no te deja quitarla..
le puse nombre porque esta haciendo unas pruebas y no me deja quitarla

HANDLE(0)
Error BASE/1004 No exported method: HANDLE *** El objeto es NIL o no existe ***
Argumentos: ( [ 1] = Tipo: U Valor: NIL)
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9283
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: ayuda con TbrowswMod

Mensaje por ignacio »

Buenos días,

Es un error del IDE. Como arreglo temporal, simplemente cree una property con el mismo nombre que puso a la columna.

Por ejemplo, si puso a 'cVarname' el valor 'oCol1', cree una PROPERTY o DATA con ese nombre.

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder