Error Base/1058
Publicado por lorenzo fdez. (180 intervenciones) el 17/10/2004 22:56:08
Hola Clipperos...
Tengo la necesidad de cambiar los colores alternativamente en las lineas de un LISTBOX. El codigo sería algo así:
redefine listbox olisfa fields ...
olisfa:nclrpane:={ || IIF(olisfa:nAt-int(olisfa:nAt/2)*2=0,CLR_WHITE,CLR_HGRAY)}
Cuando compilo de esta manera me aparece el Error Base/1058 y es que olisfa:nAt es un valor nil y por tanto no se puede operar con él.
Encontré otra forma aunque hay que tener los NTX activos:
olisfa:nClrpane = { || iif(ntxpos(1,recno())/2 == int(ntxpos(1,recno())/2),CLR_WHITE,CLR_HGRAY) }
Así no da error pero el condicional siempre obtiene como resultado la condicion 1, es decir CLR_WHITE!!! y no se por qué.
Alguien sabe otra forma y que funcione???
Mil gracias.
lisfa:nClrpane = { || iif(ntxpos(1,recno())/3 = int(ntxpos(1,recno())/3),CLR_HRED,CLR_CYAN) }
lisfa:nClrpane = { || iif(ntxpos(1,recno())/2 == int(ntxpos(1,recno())/2),CLR_HGRAY,CLR_HCYAN) }
Tengo la necesidad de cambiar los colores alternativamente en las lineas de un LISTBOX. El codigo sería algo así:
redefine listbox olisfa fields ...
olisfa:nclrpane:={ || IIF(olisfa:nAt-int(olisfa:nAt/2)*2=0,CLR_WHITE,CLR_HGRAY)}
Cuando compilo de esta manera me aparece el Error Base/1058 y es que olisfa:nAt es un valor nil y por tanto no se puede operar con él.
Encontré otra forma aunque hay que tener los NTX activos:
olisfa:nClrpane = { || iif(ntxpos(1,recno())/2 == int(ntxpos(1,recno())/2),CLR_WHITE,CLR_HGRAY) }
Así no da error pero el condicional siempre obtiene como resultado la condicion 1, es decir CLR_WHITE!!! y no se por qué.
Alguien sabe otra forma y que funcione???
Mil gracias.
lisfa:nClrpane = { || iif(ntxpos(1,recno())/3 = int(ntxpos(1,recno())/3),CLR_HRED,CLR_CYAN) }
lisfa:nClrpane = { || iif(ntxpos(1,recno())/2 == int(ntxpos(1,recno())/2),CLR_HGRAY,CLR_HCYAN) }
Valora esta pregunta


0