PROBLEMAS XBROWSE DE PINTADO

PROBLEMAS XBROWSE DE PINTADO

Postby elmoiquique » Thu Feb 23, 2012 1:06 pm

TENGO UN XBROWSE QUE DEPENDIENDO DE LA CONDICION QUE TENGA CADA LINEA ADQUIERE SU COLOR ROJO,AMARILLO VERDE, ETC....
EL PROBLEMA ES EL SIGUIENTE QUE CUANDO TIENE SOLO DOS LINEAS EL ARRAY NO FUNCIONA LA CONDICION DE PINTADO, SIMPLEMENTE NO HACE NADA HE INTENTADO DE VARIAS FORMA Y NINGUNO PINTA, CASO CONTRARIO CUANDO EL ARRAY TIENE 1, 3 O MAS LINEAS SI FUNCIONA, UNA AYUDA YA QUE HE ESTADO VARIAS HORAS BUSCANDO LA SOLUCION Y NADA

Code: Select all  Expand view


#include "Fivewin.ch"
#include "Folder.ch"
#include "Xbrowse.ch"
#include "Xml.ch"
#include "hbxml.ch"
#include "ribbon.ch"
#include "image.ch"
#include "FastReph.ch"
#include "codebar.ch"

FUNCTION prg_202()
 LOCAL oDlg,oDbf1,oLbx
 LOCAL acAnexo2:={}
 PRIVATE r_orden:=1,r_clifac:='',r_docfac:=''

 CGreen:={ { 0.50,65280,16777215 },{ 0.50,16777215,65280 } }
 CYellow:= { { 0.50,65535,16777215 },{ 0.50,16777215,65535 }}
 CRed:= { { 0.50,255,16777215 },{ 0.50,16777215,255 }}
 COrange:= { { 0.50,33023,16777215 },{0.50,16777215,33023 }}

 IF NetUse("NOTAVNTA", .T. )
  DATABASE oDbf1
  oDbf1:Load()
 ELSE
  MsgStop( "Fichero NOTA DE VENTAS Bloqueado" )
  RETURN NIL
 ENDIF
 
 dbSelectArea(oDbf1:cAlias)
 set order to 2

//LLENAR ARRAY
 go top
 do while .not. eof().and.val((odbf1:calias)->restado)<4
  aadd(acAnexo2,{ (odbf1:calias)->rfolio,dtoc((oDbf1:cAlias)->rfecha),;
                  (oDbf1:cAlias)->rtipod,(oDbf1:cAlias)->rnombre,;
                  (oDbf1:cAlias)->rtotalnv1,(odbf1:calias)->rorden,;
                  (odbf1:calias)->rselect,(odbf1:calias)->ratencion,;
                  (odbf1:calias)->rprovisor} )
  skip
 enddo
 if empty(acAnexo2)
  aadd(acAnexo2,{"","","","",0,0,"","",""})
 endif

 DEFINE DIALOG oDlg RESOURCE "SVE202"

 



  REDEFINE XBROWSE oLbx ID 101 OF Odlg;
           COLUMNS 1,2,3,4,5,6,7,8,9;
          HEADERS "Folio","Fecha","T/D","Nombre Factura","Valor Total",;
                   "Orden","Estado","Nro.Atencion","Nro.Provisorio";
           COLSIZES 70,65,30,200,70,55,90,90,75;
           PICTURE ,,,,'999,999,999.99';
           ARRAY acAnexo2 AUTOSORT UPDATE FOOTERS LINES AUTOCOLS CELL;
           ON RIGHT CLICK (prgres2(olbx:aArraydata[olbx:narrayat][7],;
                            val(olbx:aArraydata[olbx:narrayat][1])))


   olbx:bClrStd := {|| {CLR_BLACK, IF( olbx:aArrayData[olbx:nArrayAt][7]='SELECCIONADO',cYellow,;
                                   IF( olbx:aArrayData[olbx:nArrayAt][7]='PENDIENTE',cOrange,;
                                   IF( olbx:aArrayData[olbx:nArrayAt][7]='VISADO',cGreen,;
                                   IF( olbx:aArrayData[olbx:nArrayAt][7]='ERROR XML',cRed,;
                                   IF( olbx:aArrayData[olbx:nArrayAt][7]='RECHAZADO',cRed,CLR_WHITE ))))) } }

//    olbx:nstretchcol:=STRETCHCOL_WIDEST

//   olbx:acols[9]:cfooter:='TOTALES:'
//  olbx:bClrStd := { || { CLR_WHITE, IIF( olbx:acols[1]="", nRgb(255, 255, 128), nRgb( 255, 255, 200 ) ) } }
 // olbx:acols[1]:SetCheck( , .t. )
//  olbx:acols[1]:bStrdata={|| seldoc(odbf1,olbx)}
//  olbx:aCols[1]:bClrStd := {|| {CLR_WHITE, IF( olbx:aArrayData[olbx:nArrayAt][1] = .t., nRgb(255, 000, 000), nRgb( 000, 000, 128 ) ) } }
//  olbx:aCols[1]:bClrStd := {|| {CLR_WHITE, IF( olbx:aArrayData[olbx:nArrayAt][1] = .t., cSelect, sSelect ) } }
//  olbx:bClrStd := { || { CLR_BLACK, IF(( o:oBrw:nArrayAt )%2==0, nRgb(255, 255, 128), nRgb( 255, 255, 200 ) ) } }
//  olbx:bClrSel := { || { CLR_BLACK, nRgb( 255, 000, 000 ) } }
//  oLbx:bClrSelFocus := { || { CLR_BLACK, CLR_WHITE } }

 ACTIVATE DIALOG oDlg CENTERED ON INIT (olbx:maketotals(),olbx:gotop(),olbx:refresh())

 NETCLOSEALL()
RETURN .T.
 


ARRAY CON UNA SOLA LINEA FUNCIONA BIEN

Image

ARRAY DOS LINEAS NO FUNCIONA

Image

ARRAY TRES O MAS LINEAS SI FUNCIONA

Image
Fivewin 11.07
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: PROBLEMAS XBROWSE DE PINTADO

Postby joseluisysturiz » Fri Feb 24, 2012 5:35 am

Pruebas asi...

IIF( cVar = "A" ,;
( "amarillo" ) ,;
( IIF( cVar = "B" ,;
( "naranja" ) ,;
( IIF( cVar = "C" ,;
( "verde"),;
( IF( cVar = "D" ) ,;
( "rojo" ) ,;
( "blanco" ) ) ) ) ) ) )

sino, entonce te recomendaria mejor que validaras el color llamando a una funcion donde uses un DO CASE, asi lo hago en los browse cuando hay muchos datos variantes como lo que intentas hacer... espero te sirva, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: PROBLEMAS XBROWSE DE PINTADO

Postby elmoiquique » Fri Feb 24, 2012 3:00 pm

Hola
Gracias por la respuesta, tienes algun pequeño ejemplo funcional porque no me funciona la opciones que tu me das...

Al parecer el XBROWSE tiene un problema
Fivewin 11.07
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: PROBLEMAS XBROWSE DE PINTADO

Postby joseluisysturiz » Sat Feb 25, 2012 5:04 am

Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: PROBLEMAS XBROWSE DE PINTADO

Postby Patricio Avalos Aguirre » Sun Feb 26, 2012 2:16 am

Hola

Yo tuve un problema parecido, y se presentaba cuando el arreglo venia con valores antes de
declarar el xbowse

prueba declarar el xbrowse con el arreglo vacio y luego llenas el arreglo y lo insettas al xbrowse con
Code: Select all  Expand view

oLbx:SetArray( aArray )
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: PROBLEMAS XBROWSE DE PINTADO

Postby elmoiquique » Mon Feb 27, 2012 1:51 am

Patricio,,,

Funciono a la perfeccion

Gracias
Fivewin 11.07
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 35 guests