Page 1 of 1

Brw:VGoBottom() does not work in xBrowse [SOLVED]

PostPosted: Tue Jun 09, 2020 8:35 am
by MOISES
Good morning, Antonio,

To finish solving the problem of xBrowse and SQLRDD, since Nages doesn't answer the messages, I need to be able to move the vertical scroll bar.

However, oBrw:VGoBottom() and SendMsg( VK_DOWN ) do not work. They don't do anything.

Here is an example.

Code: Select all  Expand view
#Include "FiveWin.Ch"
#include "xbrowse.ch"

#include "hbcompat.ch"



FUNCTION Main()

   use c:\fwh\samples\customer

   TESTBROWSE()

   dbcloseall()


   quit


return nil





function TESTBROWSE()

   local oDlg
   local oBrw

   define dialog oDlg title "Test xBrowse " + cvaltochar(datetime()) from 0,0 to 24,79


    @ 0,0 xbrowse oBrw datasource alias() of oDlg fastedit autocols autosort ;
    SIZE -1, -1 PIXEL

    oBrw:nRowHeight := 25


    oBrw:lAutoappend := .t.
    oBrw:CreateFromCode()


    activate dialog oDlg centered ;
             on init ( oBrw:VGoBottom(), oBrw:oVScroll:SendMsg( VK_DOWN ) )

return nil
 


I'd appreciate your help, since I've been requesting for the fix since December and the customers are extremely pissed off.

Thank you very much. Greetings

Re: Brw:VGoBottom() does not work in xBrowse

PostPosted: Tue Jun 09, 2020 10:16 am
by ukoenig
Just define the needed position from inside the used DBF
and not from a defined xBrowse row-position like :

activate dialog oDlg centered ;
on init DBGOBOTTOM() // seek or anything else

// on init ( oBrw:VGoBottom(), oBrw:oVScroll:SendMsg( VK_DOWN ) )

regards
Uwe :D

Re: Brw:VGoBottom() does not work in xBrowse

PostPosted: Tue Jun 09, 2020 10:19 am
by MOISES
Hi,

Thank you for your reply.

But I need to force such behaviour in order to get xBrowse work under SQLRDD, as this is the failing issue.

Re: Brw:VGoBottom() does not work in xBrowse [solved]

PostPosted: Thu Jun 11, 2020 12:14 pm
by MOISES
Thanks to Cristobal´s help, this is the fix:

Code: Select all  Expand view


METHOD KeyCount() CLASS TXBrowse

   TRY
      if Empty( ::aFilter )
         ::nLen   := Eval( ::bKeyCount )
      else
         ::nLen   := Len( ::aFilter )
      endif
      ::lClosed   := .f.

   CATCH
      ::nLen      := 0
      ::lClosed   := .t.
   END


   if ::oVScroll != nil
      ::VSetRange( 1, ::nLen )

      if !::lSqlRDD
        ::VUpdatePos()
      endif
   endif

return ::nLen


 

Re: Brw:VGoBottom() does not work in xBrowse [SOLVED]

PostPosted: Thu Jun 11, 2020 5:40 pm
by nageswaragunupudi
There is no need to use this method directly.

viewtopic.php?f=3&t=38745&p=233158#p233158