Página 1 de 1

Error En Pintado De Arraybrowse

Publicado: Mar Ene 30, 2007 7:26 am
por etrasvina
Hola a todos.......
Tengo un problema en el pintado de un arraybrowse......... este contiene
los registros de una poliza contable los cuales pueden ser cargos o
abonos........ para una mejor visualizacion quiero poner los renglones que
sean cargos en un color y los registros que sean abonos de otro color......
esto no represento problema ya que utilize el metodo ....DrawRow( oSender,
nRowPos ) del browse..... solo que el pintado es inestable..... ya que mi
arraybrowse puede contener hasta 12 renglones pero cuando tengo menos de los
12 renglones..... el area inferior del browse que no tiene informacion me lo
pinta unas veces de un color y otras de otro...... defini un color de base
con las siguientes lineas
::ncolorb:=rgb( 255 , 255, 230)
::ncolorc:=rgb( 124 , 063, 075)
::ncolord:=rgb( 000 , 000, 000)
::ncolore:=rgb( 253 , 218, 153)
::obrowsepol:nclrpane:=::ncolorb
::obrowsepol:nclraltpane:=::ncolorb
y para la asignacion de colores por renglon asigne el siguiente codigo en el
metodo DrawRow del browse......
METHOD browsepolDrawRow( oSender, nRowPos ) CLASS cgp311
LOCAL nat:=oSender:narrayat
oSender:nclrpane := iif( oSender:aarraydata[nat,13]="C", ::ncolorc ,
::ncolorb )
oSender:nclraltpane := iif( oSender:aarraydata[nat,13]="C", ::ncolorc ,
::ncolorb )
oSender:nclrtext := iif( oSender:aarraydata[nat,13]="A", ::ncolord ,
::ncolore )
oSender:nclrseltext := iif( oSender:aarraydata[nat,13]="A", ::ncolord ,
::ncolore )
RETURN Nil
Anexo 2 imagenes... en la primera me da el pintado no deseado..... y en la
segunda me da el pintado que deseo......
no tengo datos que me digan si estoy haciendo algo mal...... o no esta en mi
arreglar esto.....
cualquier orientacion sera agradecida........
Saludos!!
Eduardo Trasviña A.
Gerente De T.I.
Grupo Firme
Sinaloa, Mexico.


Attached files

Error En Pintado De Arraybrowse

Publicado: Mar Ene 30, 2007 7:28 am
por etrasvina
Aqui esta la segunda imagen


Attached files

Error En Pintado De Arraybrowse

Publicado: Mar Ene 30, 2007 9:57 am
por ignacio
Eduardo,
Claramente no es un error. Sencillamente esta utilizando una propiedad,
nClrAltPane, que pinta distinto los registros pares de los impares.
Dependiendo del número de registros visibles el último será de un color
diferente. Solución: Simplemente no use dicha propiedad para nada.
Utilice el evento TBrwColum:OnDrawCell para establecer el colo de cada
columna.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Eduardo Trasviña" <etrasvina@gmail.com> escribió en el mensaje
news:[email=45bee526@news.xailer.com...]45bee526@news.xailer.com...[/email]
> Hola a todos.......
>
> Tengo un problema en el pintado de un arraybrowse......... este contiene
> los registros de una poliza contable los cuales pueden ser cargos o
> abonos........ para una mejor visualizacion quiero poner los renglones
> que
> sean cargos en un color y los registros que sean abonos de otro
> color......
> esto no represento problema ya que utilize el metodo ....DrawRow( oSender,
> nRowPos ) del browse..... solo que el pintado es inestable..... ya que mi
> arraybrowse puede contener hasta 12 renglones pero cuando tengo menos de
> los
> 12 renglones..... el area inferior del browse que no tiene informacion me
> lo
> pinta unas veces de un color y otras de otro...... defini un color de
> base
> con las siguientes lineas
>
> ::ncolorb:=rgb( 255 , 255, 230)on
> ::ncolorc:=rgb( 124 , 063, 075)
> ::ncolord:=rgb( 000 , 000, 000)
> ::ncolore:=rgb( 253 , 218, 153)
>
> ::obrowsepol:nclrpane:=::ncolorb
> ::obrowsepol:nclraltpane:=::ncolorb
>
> y para la asignacion de colores por renglon asigne el siguiente codigo en
> el
> metodo DrawRow del browse......
>
> METHOD browsepolDrawRow( oSender, nRowPos ) CLASS cgp311
>
> LOCAL nat:=oSender:narrayat
>
> oSender:nclrpane := iif( oSender:aarraydata[nat,13]="C", ::ncolorc ,
> ::ncolorb )
> oSender:nclraltpane := iif( oSender:aarraydata[nat,13]="C", ::ncolorc ,
> ::ncolorb )
>
> oSender:nclrtext := iif( oSender:aarraydata[nat,13]="A", ::ncolord ,
> ::ncolore )
> oSender:nclrseltext := iif( oSender:aarraydata[nat,13]="A", ::ncolord ,
> ::ncolore )
>
> RETURN Nil
>
>
> Anexo 2 imagenes... en la primera me da el pintado no deseado..... y en
> la
> segunda me da el pintado que deseo......
>
> no tengo datos que me digan si estoy haciendo algo mal...... o no esta en
> mi
> arreglar esto.....
>
> cualquier orientacion sera agradecida........
>
>
> Saludos!!
>
> Eduardo Trasviña A.
> Gerente De T.I.
> Grupo Firme
> Sinaloa, Mexico.
>
>
>
>