FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Mr. Nages!! question about xBrowse and EDIT_GET [bug issue]
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Mr. Nages!! question about xBrowse and EDIT_GET [bug issue]
Posted: Sat Jul 12, 2014 01:39 PM
Hello,

In xBrowse, when having
Code (fw): Select all Collapse
oBrowse:aCols[ 5 ]:nEditType    := EDIT_GET
, it is neccesary to double click on the field to edit it.

Many customers suggested us to do only one click, as it will be more easy to work.

Could be posible?.

Thank you :-) :-) :-)
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: question about xBrowse and EDIT_GET
Posted: Sun Jul 13, 2014 01:21 AM

Pressing Enter key is the basic way to trigger edit. This is what we inform users. Double-click is provided as an additional way to start edit.

Single click is used for cell navigation.

For browses where users are required to do lot of data-entry, it is desirable to enable Fastedit mode where pressing a data key triggers edit and after edit the next editable cell is ready for edit.

We can also configure xbrowse to use excel style edit. In this case F2 key triggers edit and enter key navigates to next cell and we can tell the users that if they know excel, they know xbrowse.

Regards



G. N. Rao.

Hyderabad, India
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: question about xBrowse and EDIT_GET
Posted: Sun Jul 13, 2014 06:08 PM

But in Excel single click edits the cell, but not in xbrowse. That is the users demand.

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: question about xBrowse and EDIT_GET
Posted: Mon Jul 14, 2014 03:36 AM
Please try:
Code (fw): Select all Collapse
obrw:bLButtonUp := { |r,c,f,o| If( o:SelectedCol():lEditable, o:selectedcol():Edit(), nil )
Regards



G. N. Rao.

Hyderabad, India
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: question about xBrowse and EDIT_GET
Posted: Tue Jul 15, 2014 02:16 AM

Even in Excel, single click selects the clicked cell. Either pressing any data key or double-click invokes edit and not single-click.

XBrowse with FastEdit behaves exactly the same way.

If we also set
oBrw:lEnterKey2Edit := .f.
oBrw:lF2KeyToEdit := .t.
edit behavior is exactly like Excel.

Regards



G. N. Rao.

Hyderabad, India
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: question about xBrowse and EDIT_GET
Posted: Wed Jul 23, 2014 10:15 PM
Dear Mr. Nages,

Your suggestion Works fine.

But I detected when I click on the separator between two cells, I get this error:

Error description: Error BASE/1004 No exported method: SELECTALL
Args:
[ 1] = U

Stack Calls
===========
Called from: => SELECTALL( 0 )
Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:EDIT( 11107 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:LDBLCLICK( 3742 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1733 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:HANDLEEVENT( 12140 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3236 )
Called from: => DIALOGBOXINDIRECT( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 274 )
Called from: rao.prg => MAIN( 81 )



This is my sampel:

Code (fw): Select all Collapse
#include 'fivewin.ch'
#include 'ord.ch'
#include 'xbrowse.ch'
#include 'hbcompat.ch'

//#include "xbrowse.prg"

REQUEST DBFCDX

//----------------------------------------------------------------------------//

function Main()

   local oDlg, oBrw, oFont, nWild := 2
   local cList, aFlds, aHdrs
   local nChoice := 0, uDataSource

   SET DATE ITALIAN
   SET CENTURY ON
   RDDSETDEFAULT( "DBFCDX" )

   cList := "First,Last,Street,State,HireDate"

   //nChoice     := ALERT( "Choose Data Souce", { "DBF", "ADO", "ARRAY" } )
   uDataSource := OpenData( nChoice, cList )

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12

   DEFINE DIALOG oDlg SIZE 750,300 PIXEL FONT oFont ;
      TITLE "XBrowse Incremental Filters"

   aFlds := aHdrs := HB_ATokens( cList, ',' )
   if nChoice == 3
      aFlds := Array( Len( aFlds ) )
      AEval( aFlds, { |u,i| aFlds[ i ] := i } )
   endif

   @ 30,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
      COLUMNS aFlds HEADERS aHdrs ;
      DATASOURCE uDataSource AUTOSORT CELL LINES NOBORDER ;
      FASTEDIT

   WITH OBJECT oBrw
      :lIncrFilter   := .t.
      :lSeekWild     := ( nWild == 2 )
      :cFilterFld    := "FIRST"
      :nStretchCol   := STRETCHCOL_WIDEST

      :nColDividerStyle    := LINESTYLE_BLACK
      :lColDividerComplete := .T.
      :nHeaderLines        := 1.5
      :lRecordSelector     := .F.
      :lAllowColHiding     := .F.

      :nMarqueeStyle := 7

      :bLButtonUp := { |r,c,f,o| If( o:SelectedCol():lEditable, o:SelectedCol():Edit(), nil )  }

   END

   AEval( oBrw:aCols, { |o| o:nEditType := EDIT_GET } )



   @ 10, 10 COMBOBOX oBrw:cFilterFld ;
      ITEMS aHdrs ;
      ON CHANGE ( oBrw:Seek( "" ), oBrw:SetFocus() ) ;
      SIZE 50,400 PIXEL OF oDlg

   @ 10, 70 COMBOBOX nWild ITEMS { "Starting With", "Containing" } ;
      ON CHANGE ( oBrw:lSeekWild := ( nWild == 2 ), ;
                  oBrw:Seek( If( oBrw:lSeekWild, oBrw:cSeek, "" ) ), ;
                  oBrw:SetFocus() ) ;
      SIZE 70,400 PIXEL OF oDlg

   @ 11,160 SAY oBrw:oSeek PROMPT oBrw:cSeek SIZE 200,10 PIXEL ;
      OF oDlg COLOR CLR_BLACK,CLR_YELLOW PICTURE '@!'

   oBrw:CreateFromCode()

   ACTIVATE DIALOG oDlg CENTERED ON INIT ( oBrw:SetFocus(), .f. )

   RELEASE FONT oFont

return nil

//----------------------------------------------------------------------------//

static function OpenData( nSource, cList )

   local oCn, uSource

      USE c:\fwh\samples\CUSTOMER SHARED NEW ALIAS CUST
      SET ORDER TO TAG FIRST
      GO TOP


      if nSource == 3
         uSource  := CUST->( FW_DbfToArray( cList ) )
         CLOSE CUST
      else
         uSource  := "CUST"
      endif


return uSource

//----------------------------------------------------------------------------//



METHOD Edit( nKey ) CLASS TXBrwColumn

And xbrowse.prg lines:

if XbrGetSelectAll() == .t. .or. ;
( XBrGetSelectAll() == nil .and. nKey != nil .and. ValType( uValue ) != 'N' .and. ;
::ClassName() == 'TGET' )
::SelectAll()
endif


Thank you. Sorry for any inconvenience.
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: question about xBrowse and EDIT_GET [new issue]
Posted: Fri Jul 25, 2014 09:49 AM

Up, Thanks

Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: question about xBrowse and EDIT_GET [new issue]
Posted: Sun Aug 10, 2014 10:47 AM

Up

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: question about xBrowse and EDIT_GET [bug issue]
Posted: Sun Aug 10, 2014 11:32 AM

I am unable to reproduce the error.
You say that in the statement ::oEditGet:SelectAll(), ::oEditGet is nil.
If so, we should have got error in any of the preceding lines of code where ::oEditGet's methods were used.

Regards



G. N. Rao.

Hyderabad, India
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: question about xBrowse and EDIT_GET [bug issue]
Posted: Sun Aug 10, 2014 12:26 PM

Dear Mr. Nages,

Try to do single click out of the field, for example, on the row of column separator.

If you could not reproduce it I will make a video.

Thank you!

Posts: 1048
Joined: Mon Oct 24, 2005 09:54 AM
Re: question about xBrowse and EDIT_GET [bug issue]
Posted: Mon Aug 11, 2014 08:56 AM

I also see this behaviour!
MfG

Regards,
Günther
---------------------------------
office@byte-one.com
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: question about xBrowse and EDIT_GET [bug issue]
Posted: Tue Aug 26, 2014 02:06 PM

Up, please!.

Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: not solved! question about xBrowse and EDIT_GET [bug issue]
Posted: Thu Sep 11, 2014 07:57 AM

Up

Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: not solved! question about xBrowse and EDIT_GET [bug issue]
Posted: Sun Oct 12, 2014 07:16 AM

Up!!

Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: not solved!! question about xBrowse and EDIT_GET [bug issue]
Posted: Fri Oct 17, 2014 12:15 PM

Mr. Nages,

Can you please look at it?.

Thanks ;)