Sacando del ejemplo TESTMERG.PRG, como poder ingresar un nuevo item
presionando la tecla F3 agrego un item, pero este arroja un Error, abra alguna forma de agregar item..
- Code: Select all Expand view
#include 'fivewin.ch'
#include 'xbrowse.ch'
function main()
local aData
local oDlg, oBrw, oCol, oFont, oBrush
local nTotal
setkey( VK_F3, { || ACTUALICE( oBrw ) } )
// Data sorted in the order of State, City
// Array is used for this example
aData := ReadData( @nTotal )
DEFINE BRUSH oBrush COLOR CLR_WHITE //RESOURCE 'STONE'
DEFINE FONT oFont NAME 'TAHOMA' SIZE 0,-12
DEFINE DIALOG oDlg SIZE 560,680 PIXEL ;
TITLE 'TXBrowse - Merged Cells' ;
FONT oFont
@ 10,10 XBROWSE oBrw ;
HEADERS 'Stk_Pat', 'Detalle', 'Tramite', 'Importe', 'Comentario' ;
SIZE 260,320 PIXEL ;
COLSIZES ,100,,,100 ;
PICTURES ,,,'@E 9,999,999' ;
JUSTIFY AL_CENTER ;
OF oDlg ARRAY aData FOOTERS AUTOCOLS LINES CELL
oBrw:lKineticBrw := .f.
// Other data not covered in the above command
oBrw:bClrSelFocus := { || { CLR_BLUE, nRGB( 230, 255, 230 ) } }
oBrw:lColDividerComplete := .f.
oBrw:oBrush := oBrush
WITH OBJECT oBrw:stk_pat
:nHeadStralign := AL_CENTER
:cFooter := 'Grand Total'
:bClrStd := { || { CLR_BLACK, CLR_WHITE } }
:AddResource( 'OPEN' )
:bBmpData := { || 1 }
END
oBrw:importe:nTotal := nTotal
// Following two lines for vertical cell merging
oBrw:stk_pat:lMergeVert := .t.
oBrw:CreateFromCode()
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
RELEASE BRUSH oBrush
return nil
static function ReadData( nTotal )
nTotal := 38520300
Return( { ;
{ '303635','GLADYS CECILIA ','INSCRIPCION ', 48680 , "COMENTARIO" }, ;
{ '303635','LINCOYAN 51 ','P.CIRCULACION ', 9651 , "" }, ;
{ '303635',' ','SEGURO CREDITO ', 9000 , "" }, ;
{ '303635','3434443434K ',' ', , "" }, ;
{ '303635','COQUIMBO ',' ', , "" }, ;
{ 'BLKT-XX','c.l.p PROBANDO... ','INSCRIPCION ', 21330 , "COMENTARIO" },;
{ 'BLKT-XX','BALMACEDA 56 ','IMPUESTO ', 379500, "" },;
{ 'BLKT-XX',' ','NOTARIA CREDITO ', 6000 , "" },;
{ 'BLKT-XX','LA SERENA ','PRENDA Y PROH ', 379500, "" },;
{ 'BLKT-XX','123445565655 ',' ', , "" } } )
//----------------------------------------------------------------------------//
Function Actualice(oBrw )
local aMiArray
aMiArray := aClone(oBrw:aArrayData)
aadd( aMiArray, { 'BLKT-XX','REGISTRO NUEVO ','PRENDA Y PROH ', 379500, "" } )
/*AEVAL( aMiArray, { |x| alert( x[1] ),;
alert( x[2] ),;
alert( x[3] ),;
alert( x[4] ),;
alert( x[5] ) } )*/
oBrw:aArrayData := aMiArray
oBrw:Refresh()
msgInfo( "Listo" )
Return NIL
- Code: Select all Expand view
- Application
===========
Path and name: C:\FWH\samples\p.exe (32 bits)
Size: 1,685,504 bytes
Time from start: 0 hours 0 mins 1 secs
Error occurred at: 01/07/10, 18:39:21
Error description: Error BASE/1132 Bound error: array access
Args:
[ 1] = A { ... }
[ 2] = N 11
Stack Calls
===========
Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:MERGEAREA(10424)
Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:PAINTDATA(8918)
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:PAINT(1347)