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: Select all Expand view
#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. ;
::oEditGet:ClassName() == 'TGET' )
::oEditGet:SelectAll()
endif
Thank you. Sorry for any inconvenience.