rem 'Reporte Jasper desde BBjRecordSet
rem
begin
rem
use ::bbjasper.bbj::BBJasperViewerWindow
use ::bbjasper.bbj::BBJasperViewerControl
use ::bbjasper.bbj::BBJasperReport
use java.sql.ResultSet
rem
declare BBjSysGui sysgui!
declare BBjTopLevelWindow window!
declare BBjStandardGrid grid!
rem
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
cols = 2
rows = 0
window! = sysgui!.addWindow(0,0,540,440,"Grid",$00010093$,$$)
rem
flags$ = $81c2$; rem ' column header
grid! = window!.addGrid(100,101,102,10,10,400,340,flags$,rows,cols)
grid!.setColumnHeaderCellText(0,"Region")
grid!.setColumnHeaderCellText(1,"Nombre")
grid!.setColumnWidth(0,40)
grid!.setColumnWidth(1,200)
rem
reporte!=window!.addButton(104,50,380,90,20,"Reporte",$0800$)
progreso!=window!.addProgressBar(105,145,380,100,20)
progreso!.setVisible(BBjAPI().FALSE)
rem
fila=-1
template$="REGION:C(2),NOMBRE:C(26*=)"
dim rec$:template$
while 1
dread rec.region$,rec.nombre$,END=*break
fila=fila+1
grid!.setNumRows(fila+1)
grid!.setCellText(fila,0,rec.region$)
grid!.setCellText(fila,1,rec.nombre$)
wend
window!.setVisible(BBjAPI().TRUE)
rem
reporte!.setCallback(reporte!.ON_BUTTON_PUSH,"emitereporte")
window!.setCallback(window!.ON_CLOSE,"eoj")
process_events
rem
eoj:
stop
rem
emitereporte:
progreso!.setIndeterminate(BBjAPI().TRUE)
progreso!.setText("Generando reporte...")
progreso!.setVisible(BBjAPI().TRUE)
recordSet!=BBJAPI().createMemoryRecordSet(template$)
filas=grid!.getNumRows()
for lin=0 to filas-1
data! = recordSet!.getEmptyRecordData()
data!.setFieldValue("REGION",grid!.getCellText(lin,0))
data!.setFieldValue("NOMBRE",grid!.getCellText(lin,1))
recordSet!.insert(data!)
next lin
rem
reportFile$="Estados.jrxml"
rem
resultSet! = recordSet!.getJDBCResultSet()
resultSet!.beforeFirst()
rem Parametros (si hubiera)
params! = new java.util.HashMap()
rem Crea y llena el reporte con el ResultSet
report!=new BBJasperReport(reportFile$,resultSet!,params!)
report!.fill()
bbjasperViewer! = new BBJasperViewerWindow(report!)
progreso!.setVisible(BBjAPI().FALSE)
bbjasperViewer!.show(1)
return
rem
DATA "01","Region Metropolitana"
DATA "02","XV Arica y Parinacota"
DATA "03","I Tarapaca"
DATA "04","II Antofagasta"
DATA "05","III Atacama"
DATA "06","IV Coquimbo"
DATA "07","V Valparaiso"
DATA "08","VI O'Higgins"
DATA "09","VII Maule"
DATA "10","VIII Biobio"
DATA "11","IX La Araucania"
DATA "12","XIV Los Rios"
DATA "13","X Los Lagos"
DATA "14","XI Aysen"
DATA "15","XII Magallanes y Antartica"