Página 1 de 1

ayuda con TbrowswMod

Publicado: Vie Sep 13, 2024 11:24 pm
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.

Re: ayuda con TbrowswMod

Publicado: Sab Sep 14, 2024 5:47 pm
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

Re: ayuda con TbrowswMod

Publicado: Sab Sep 14, 2024 9:58 pm
por Arvisnet
Gracias por responder.

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

seguire investigando..
saludos cordiales

Re: ayuda con TbrowswMod

Publicado: Lun Sep 16, 2024 10:27 am
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

Re: ayuda con TbrowswMod

Publicado: Mié Sep 18, 2024 4:15 am
por Arvisnet
Gracias Mr Ignacio, ya entendi.
Saludos cordiales.

Re: ayuda con TbrowswMod

Publicado: Mié Sep 18, 2024 4:28 am
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)

Re: ayuda con TbrowswMod

Publicado: Mié Sep 18, 2024 10:29 am
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