TxBrowse - que tiene de malo - no ??

Post Reply
jcaro
Posts: 270
Joined: Fri Nov 11, 2005 7:39 pm

TxBrowse - que tiene de malo - no ??

Post by jcaro »

Hola Foro:

1) Sigo tratando de solucionar mi problema con el uso de TxBrowse con ADO y los recordset.

Mi problema es que no se muestra nada en la ventana MDI que se crea OK, aparece la ventana vacia, sin mostrar el browse y su contenido.
El recordset oRs , tiene datos , pero no sale nada.

A alguien le funciona ??

Les adjunto parte del código, para si me pueden decir , donde puede estar mi error. La función recibe un RecordSet con datos ( oRS )

Code: Select all


// ---------------------------------------------------------------------
Function Browse2( oRS )
// ---------------------------------------------------------------------

    Local oWinh     := NIL
    Local oBrw      := NIL	
 
		
	If oRS:RecordCount() > 0

   		? oRs:RecordCount() 
			
		oRs:MoveFirst()
		
	 	DEFINE WINDOW oWinh MDICHILD FROM 0,0 to 0, 0 TITLE "Prueba de Browse" OF oWnd PIXEL  

    	oBrw := TXBrowse():New( oWinH ) 
	   
		oBrw:AddCol() 
    	oBrw:bStrData   	:= { || oRS:Fields("Nombre" ):Value }
    	oBrw:cHeader    	:= "Nombre"
      	oBrw:OnGetData 		:= { || oRS:Fields("Nombre" ):Value }

		oBrw:AddCol() 
    	oBrw:bStrData   	:= { || oRS:Fields("fono1" ):Value }
    	oBrw:cHeader    	:= "FONO 1"
		oBrw:OnGetData 		:= { || oRS:Fields("fono1" ):Value }

        oBrw:OnGoTop        := {|| oRs:MoveFirst() }
        oBrw:OnGoBottom  	:= {|| oRs:MoveLast() }
        oBrw:OnBof     		:= {|| oRs:Bof() }
        oBrw:OnEof     	 	:= {|| oRs:Eof() }
		oBrw:OnSkip       	:= { | nSkip | Skipper( oRs, nSkip ) } 
        oBrw:OnKeyCount 	:= {|| oRs:RecordCount() }

   		oBrw:nMarqueeStyle       := MARQSTYLE_HIGHLROW   
   		oBrw:nColDividerStyle    := LINESTYLE_RAISED          
   		oBrw:nRowDividerStyle    := LINESTYLE_RAISED          
				
		oBrw:SetRDD()
		oBrw:Refresh( .t. )
		oBrw:CreateFromCode()
   
		oWinh:SetControl( oBrw )

    	ACTIVATE WINDOW oWinh  VALID ( oBrw:= NIL ,.T. )
			
    	oWnd:Cascade()
		oWinh:Show()
		oWinh:SetFocus()
	
	EndIf		
		
RETURN NIL 



STATIC FUNCTION SKIPPER( oRs, nSkip ) 

    LOCAL nRec := oRs:AbsolutePosition 

    oRs:Move( nSkip ) 

    IF oRs:EOF 
		oRs:MoveLast()
	ENDIF 
    
	IF oRs:BOF
		oRs:MoveFirst()
	ENDIF 

RETURN oRs:AbsolutePosition - nRec 

2) Mirando la clase del TXbrowse, no aparece como asignarle a una columna un campo del recordset, solo existe una DATA bStrData,
pero parece ser que acepta solo campos de DBF o Array. No se como
asignarle un campo del recordset. Faltará algo ahi ??

3) Donde se encuentra la información del método :

Code: Select all

oBrw:CreateFromCode()
No la encuentro en los códigos fuentes , donde se crea y está ?

4) Otra cosita, si utilizo un Listbox funciona todo OK, es solo con el TXBrowse que no me funciona. A mi me gusta el TXbrowse, por eso necesito saber si funciona o no en esta situación. ?

Gracias anticipadas por cualquier ayuda, saludos.
Juan
==> Pasando a FWH16.04 + Harbour32 + BCC70 + PellesC
=> Abandonando FWH 13.7 + xHarbour + BCC582
http://www.mitaller.cl
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Yo utilizo xBrowse con ADO, sin ningun problema. A primera vista, tu codigo me parece correcto salvo lo siguiente que no se si es un error al escribir el mensaje.
oBrw:OnGoTop := {|| oRs:MoveFirst() }
oBrw:OnGoBottom := {|| oRs:MoveLast() }
oBrw:OnBof := {|| oRs:Bof() }
oBrw:OnEof := {|| oRs:Eof() }
oBrw:OnSkip := { | nSkip | Skipper( oRs, nSkip ) }
oBrw:OnKeyCount := {|| oRs:RecordCount() }
En lugar de OnGoTop debe ser bGoTop, etc. Tampoco es necesario que ejecutes SetRdd, pues lo unico que hace es inicializar el browse para manejo de tablas via Rdd sean DBF o Ads.
En el ultimo build de Fivewin Antonio tuvo a bien añadir una colaboracion que le envie, es el nuevo metodo SetAdo, y el codigo para utilizarlo seria el siguiente.

Code: Select all

oBrw := TXBrowse():New( oWinH )
oBrw:SetAdo(oRs)
oBrw:CreateFromCode()
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
jcaro
Posts: 270
Joined: Fri Nov 11, 2005 7:39 pm

Post by jcaro »

Biel :

Muchas Gracias por responderme. Esto me tranquiliza, pensaba que estaba por mal camino. Te lo agradezco mucho.

Voy a bajar el ultimo build y lo probaré.

Saludos,
Juan
Juan
==> Pasando a FWH16.04 + Harbour32 + BCC70 + PellesC
=> Abandonando FWH 13.7 + xHarbour + BCC582
http://www.mitaller.cl
Post Reply