pintar filas en xbrowse multiselect- SOLUCIONADO-

Post Reply
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

pintar filas en xbrowse multiselect- SOLUCIONADO-

Post by surGom »

Hola estoy tratando de pintar filas en un xbrowse multiselect y no puedo hacerlo funcionar, les muestro el código haber si saben cual es el motivo

Code: Select all

if !pasaje("factura");return nil;endif
   database oFac
   oFac:setorder(3)


   oFac:ordscope(0,nclia)
   oFac:ordscope(1,nclia)

   oFac:gotop()   
   //  oFac:setfilter("paga" != "S" .and. "nota" != "C" .)

   //FW_DbfToArray ( cFieldList, bFor, bWhile, nNext, nRec, lRest, aData )


   //aRows := FW_DbfToArray( "DATE,TERMINAL,VALUE", { || FIELD->DATE = dDate } )
  // aItems := fw_dbftoarray("fechida,nrofac,Importe,nota",  { || paga != "S" .and. nota != "C" })
   // oFac:deactivate()
   do
      if paga != "S" .and. nota != "C"
         AAdd( aItems,{oFac:fechida,oFac:nrofac,oFac:importe, IIF(oFac:nota = "D", .t.,.f.)})
         
      endif   
      oFac:skip()   
   until oFac:eof()
   xbrNumFormat( "E", .T. )

   DEFINE DIALOG odlg1 resource "DIA_ASOCIO1"

   redefine xBrowse oBrw Of odlg1 array aItems ;               //             Columns 'fechida','nrofac','Importe'  ;
             columns {1,2,3,4};
             Headers 'Fecha','Número', 'Abona','nota';
             ColSizes 80,120,180,40 id 101  UpDate Cell AutoSort



    With Object oBrw:InsCol(1)
        :bEditValue    := { || AScan( oBrw:aSelected, oBrw:BookMark ) > 0 }
        :SetCheck()
        :nHeadBmpNo    := { || If( Len( oBrw:aSelected ) == oBrw:nLen, 1, 2 ) }
    End

   WITH OBJECT oBrw
      :lDisplayZeros := .F.
      :nMarqueeStyle := MARQSTYLE_HIGHLROWRC
      :nStretchCol := STRETCHCOL_WIDEST
      :bClrStd := {|| { RGB(0,0,0),colores( aItems[ oBrw:nat, 4 ] ) } }
      :lColDividerComplete := .T.
      :lAllowColHiding := .F.
      :lRecordSelector := .F.
   END WITH

    oBrw:bLClicked := { |r,c,f,oBrw| If( oBrw:MouseColPos( c ) == 1 , ;
                   If( ( f := AScan( oBrw:aSelected, oBrw:BookMark ) ) == 0, ;
                     AAdd( oBrw:aSelected, oBrw:BookMark ), ;
                     ADel( oBrw:aSelected, f, .t. ) ), Nil ), ;
                     oBrw:RefreshCurrent() }

   ACTIVATE DIALOG odlg1 ON INIT oBrw:gobottom()

etc

STATIC FUNCTION colores( lNota  )
   
 
   IF lNota 
      RETURN( RGB( 200,0,150 ) )
   ELSE
      RETURN( RGB( 255,255,255 ) )
   ENDIF


RETURN NIL


etc

 
Con otros formularias no tengo ningún problema al usar :bClrStd

Muchas Gracias
Last edited by surGom on Fri May 22, 2020 1:04 am, edited 1 time in total.
User avatar
Manuel Aranda
Posts: 561
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Re: pintar filas en xbrowse multiselect

Post by Manuel Aranda »

WITH OBJECT oBrw
:lDisplayZeros := .F.
:nMarqueeStyle := MARQSTYLE_HIGHLROWRC
:lMultiSelect := .t.
:nStretchCol := STRETCHCOL_WIDEST
:bClrStd := {|| { RGB(0,0,0),colores( aItems[ oBrw:nat, 4 ] ) } }
:lColDividerComplete := .T.
:lAllowColHiding := .F.
:lRecordSelector := .F.
END WITH
Un saludo,
Manuel

xH 1.2.3, FWH 14.09, BC++ 5.8.2, xVerce CW 1.0, PellesC
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: pintar filas en xbrowse multiselect

Post by surGom »

Gracias Manuel pero el seleccionar los items no hay problema funciona perfecto, pero lo que no puedo es pintar la fila que está con la condición "D".

Luis
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: pintar filas en xbrowse multiselect

Post by FranciscoA »

Ya lo intentaste asi?:

Code: Select all

:bClrStd := { || { CLR_BLACK, Colores(oBrw:aRow[4]) } }
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: pintar filas en xbrowse multiselect

Post by surGom »

Francisco perfecto. Muchas gracias hace dos días que estaba con esto.
Les voy a decir que si no fuera por Uds nunca hubiera podido hacer nada.

Muchas Gracias

Luis
Post Reply