Page 1 of 1
hbpgsql/harbour + xbrowse
Posted: Thu May 05, 2011 1:51 pm
by luiz53
gostaria de saber como usar xbrowse com hbpgsql
"I would like to know how to use xbrowse hbpgsql"
HARBOUR CVS....
Re: hbpgsql/harbour + xbrowse
Posted: Thu May 05, 2011 5:56 pm
by nageswaragunupudi
Hope you will be able to open a table object with a query.
If the class of the object has some minimum methods like goto, gotop, recno, etc.xbrowse may be able to browse the object.
Please help me to try testing this:
First open the table / query in your own way. Let us call the object oQry. Then test whether xbrowse can automatically browse the object by:
If the result is .T., then xbrowse can browse the object without much effort from your side. In such a case, next step is:
Code: Select all
DEFINE WINDOW oWnd
@ 0,0 XBROWSE oBrw OF oWnd DATASOURCE oQry FIELDS oQry:FieldGet(1) // or whatever way you access the fields.
oBrw:CreateFromCode()
oWnd:oClient := oBrw
ACTIVATE WINDOW oWnd
Depending on the results, I can guide you next.
Re: hbpgsql/harbour + xbrowse
Posted: Fri May 06, 2011 9:08 am
by luiz53
nageswaragunupudi wrote:Hope you will be able to open a table object with a query.
If the class of the object has some minimum methods like goto, gotop, recno, etc.xbrowse may be able to browse the object.
Please help me to try testing this:
First open the table / query in your own way. Let us call the object oQry. Then test whether xbrowse can automatically browse the object by:
If the result is .T., then xbrowse can browse the object without much effort from your side. In such a case, next step is:
Code: Select all
DEFINE WINDOW oWnd
@ 0,0 XBROWSE oBrw OF oWnd DATASOURCE oQry FIELDS oQry:FieldGet(1) // or whatever way you access the fields.
oBrw:CreateFromCode()
oWnd:oClient := oBrw
ACTIVATE WINDOW oWnd
Depending on the results, I can guide you next.
return .F.
Re: hbpgsql/harbour + xbrowse
Posted: Sat May 07, 2011 10:27 pm
by luiz53
hello ;
G. N. Rao. Hyderabad, India
know what can I do?
saberia oque posso fazer ?
Re: hbpgsql/harbour + xbrowse
Posted: Sun May 08, 2011 9:27 am
by nageswaragunupudi
Please try adopting the following code to your query.
Code: Select all
function PgQryBrowse( oQry )
DEFINE WINDOW oWnd
@ 0,0 XBROWSE oBrw OF oWnd ;
FIELDS oQry:FieldGet( 1 ), oQry:FieldGet( 2 ) ;
HEADERS oQry:FieldName( 1 ), oQry:FieldName( 2 ) ;
CELL LINES
WITH OBJECT oBrw
:nDataType := DATATYPE_USER
:bGoTop := { || oQry:GoTo( 1 ) }
:bGoBottom := { || oQry:GoTo( oQry:LastRec() ) }
:bKeyCount := { || oQry:LastRec() }
:bKeyNo := ;
:bBookMark := { |n| If( n == nil, oQry:RecNo(), ( oQry:GoTo( Max( n, oQry:LastRec() ) ), oQry:RecNo() ) ) }
:bBof := { || oQry:Bof() }
:bEof := { || oQry:Eof() }
:bSkip := { |n| PgSkipper( oQry, n ) }
END
oBrw:CreateFromCode()
oWnd:oClient := oBrw
ACTIVATE WINDOW oWnd
return nil
function PgSkipper( oQry, nToSkip )
local nSkipped := 0
local nRecNo := oQry:RecNo()
DEFAULT nToSkip := 1
if oQry:LastRec() > 0
oQry:GoTo( Max( 1, Min( nRecNo + nToSkip, oQry:LastRec() ) ) )
nSkipped := oQry:RecNo() - nRecNo
endif
return nSkipped
Please test and post the results.
Re: hbpgsql/harbour + xbrowse
Posted: Sun May 08, 2011 10:06 pm
by luiz53
I did the test shows only one record ...
and the bank has 10 000 records
Re: hbpgsql/harbour + xbrowse
Posted: Mon May 09, 2011 12:55 am
by nageswaragunupudi
luiz53 wrote:I did the test shows only one record ...
and the bank has 10 000 records
I am sorry, there was a small mistake in the code I posted originally. I corrected the above code in PgSkipper() function.
Please use the revised code above