Hola Amigos del foro:
Como el título dice, alguien que me tire un pequeño ejemplo de un xBrowse, FASTEDIT
pero atacando un RECORDSET, he buscado aquí y lo que encontré es atacando un ARRAY.
Saludos y muchas gracias
#include "fivewin.ch"
REQUEST DBFCDX
static aSource := { "DBF", "TDataBase", "ADO.MSSQL", "MYSQL" }
static oCn, nSource, uData
//----------------------------------------------------------------------------//
function Main()
RDDSETDEFAULT( "DBFCDX" )
SET DELETED ON
SetGetColorFocus()
FWNumFormat( "E", .t. )
REPEAT
nSource := Alert( "SELECT DATASOURCE", aSource )
if nSource > 0
OpenData()
BrowseData()
CloseData()
endif
UNTIL nSource == 0
return nil
//----------------------------------------------------------------------------//
static function BrowseData()
local oDlg, oFont, oBar, oBrw
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
DEFINE DIALOG oDlg SIZE 900,600 PIXEL TRUEPIXEL FONT oFont TITLE aSource[ nSource ]
DEFINE BUTTONBAR oBar OF oDlg SIZE 100,32 2007
DEFINE BUTTON OF oBar PROMPT "Add" ACTION oBrw:EditSource( .T. )
DEFINE BUTTON OF oBar PROMPT "Edit" ACTION oBrw:EditSource()
DEFINE BUTTON OF oBar PROMPT "Delete" ACTION oBrw:Delete()
DEFINE BUTTON OF oBar PROMPT "Excel" ACTION oBrw:ToExcel() GROUP
DEFINE BUTTON OF oBar PROMPT "Report" ACTION oBrw:Report()
DEFINE BUTTON OF oBar PROMPT "Close" ACTION oDlg:End() GROUP
@ 40,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg ;
DATASOURCE uData ; // Alias, TDatabase Object, RecordSet or MySql/PostGre query object
COLUMNS "ID", "FIRST", "CITY", "STATE", "AGE", "SALARY" ;
CELL LINES NOBORDER FOOTERS FASTEDIT
WITH OBJECT oBrw
:nEditTypes := EDIT_GET
:Salary:nFooterType := AGGR_SUM
:MakeTotals()
//
:CreateFromCode()
END
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
return nil
//----------------------------------------------------------------------------//
static function OpenData()
do case
case nSource == 1
USE CUSTOMER NEW ALIAS "CUST" SHARED VIA "DBFCDX"
uData := ALIAS()
case nSource == 2
uData := TDataBase():Open( nil, "CUSTOMER", "DBFCDX", .t. )
case nSource == 3
oCn := FW_MSSQLDB()
uData := FW_OpenRecordSet( oCn, "customer" )
case nSource == 4
oCn := FW_DemoDB()
uData := oCn:RowSet( "customer" )
endcase
return uData
//----------------------------------------------------------------------------//
static function CloseData()
if nSource == 1
( uData )->( DBCLOSEAREA() )
else
uData:Close()
if oCn != nil
oCn:Close()
endif
endif
return nil
//----------------------------------------------------------------------------//
...
tuple = "select cod, qta from tbart where cod = 'ESA10"
oRs := FW_OpenRecordSet( oCn, tuple )
DEFINE DIALOG oDlg2 SIZE 1000,600 PIXEL FONT oFont
@ 40,10 XBROWSE oBrw SIZE -10,-50 PIXEL CELL AUTOCOLS AUTOSORT FASTEDIT ;
RECORDSET oRs ;
HEADERS "CODICE", "QUANTITA'" ;
PICTURE NIL, "@ZE 99999999.999" ;
OF oDlg2
WITH OBJECT oBrw
:nEditTypes := EDIT_GET
:CreateFromCode()
END
...
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 48 guests