Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 944f727
Showing
11 changed files
with
47,718 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
use ::BBjGridExWidget/BBjGridExWidget.bbj::BBjGridExWidget | ||
use com.basiscomponents.bc.SqlQueryBC | ||
use java.sql.Types | ||
|
||
? 'HIDE' | ||
|
||
declare auto BBjTopLevelWindow wnd! | ||
declare auto BBjListButton lb_db! | ||
declare auto BBjListButton lb_tbl! | ||
declare auto BBjToolButton btn_fit! | ||
declare BBjGridExWidget grid! | ||
|
||
wnd! = BBjAPI().openSysGui("X0").addWindow(10,10,800,600,"BBj Grid Ex Demo") | ||
|
||
grid! = new BBjGridExWidget(wnd!,100,0,0,800,600) | ||
|
||
wnd! .setCallback(BBjAPI.ON_CLOSE,"byebye") | ||
wnd! .setCallback(BBjAPI.ON_RESIZE,"resize") | ||
|
||
gosub fillGrid | ||
|
||
process_events | ||
|
||
|
||
fillGrid: | ||
|
||
declare SqlQueryBC sbc! | ||
sbc! = new SqlQueryBC(BBjAPI().getJDBCConnection("CDStore")) | ||
rs! = sbc!.retrieve("SELECT * FROM CDINVENTORY") | ||
|
||
grid!.addColumn("CDNUMBER","Item#") | ||
grid!.addColumn("ARTIST","Artist Name") | ||
grid!.addColumn("TITLE","Record Title") | ||
grid!.addColumn("LABEL","Publisher") | ||
grid!.addColumn("PLAYINGTIME","Playing Time (min)",Types.INTEGER) | ||
|
||
grid!.setColumnBackColor("CDNUMBER",BBjAPI().makeColor("LTGRAY")) | ||
grid!.setColumnForeColor("CDNUMBER",BBjAPI().makeColor("BLUE")) | ||
grid!.pinColumn("CDNUMBER","left") | ||
grid!.setColumnWidth("CDNUMBER",120) | ||
grid!.setColumnAlignment("CDNUMBER",grid!.GRID_ALIGN_CENTER()) | ||
|
||
grid!.setSelectionMode(grid!.GRID_SELECT_ROW()) | ||
grid!.setMultipleSelection(1) | ||
|
||
rs!.getItem(0).setFieldAttribute("LABEL","BGCOLOR","#FF0000") | ||
rs!.getItem(1).setFieldAttribute("LABEL","FGCOLOR","#00FF00") | ||
|
||
grid!.setEnableFilter(1) | ||
|
||
grid!.setData(rs!) | ||
|
||
grid!.setFitToGrid(1) | ||
|
||
grid!.setCallback(grid!.ON_GRID_SELECT_ROW(),"onRowSelect") | ||
|
||
return | ||
|
||
byebye: | ||
bye | ||
|
||
resize: | ||
ev! = BBjAPI().getLastEvent() | ||
grid!.setSize(ev!.getWidth(),ev!.getHeight()) | ||
|
||
return | ||
|
||
onRowSelect: | ||
ev! = BBjAPI().getLastEvent() | ||
rem TODO unfold the object structure - it will change! | ||
a=msgbox(str(ev!.getObject()),0,"ROW(S) SELECTED") | ||
return |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,129 @@ | ||
use ::BBjGridExWidget/BBjGridExWidget.bbj::BBjGridExWidget | ||
use com.basiscomponents.bc.SqlQueryBC | ||
? 'HIDE' | ||
|
||
declare auto BBjTopLevelWindow wnd! | ||
declare auto BBjListButton lb_db! | ||
declare auto BBjListButton lb_tbl! | ||
declare auto BBjToolButton btn_fit! | ||
declare BBjGridExWidget grid! | ||
|
||
wnd! = BBjAPI().openSysGui("X0").addWindow(10,10,800,600,"BBj Grid Ex Demo") | ||
|
||
wnd!.addStaticText(200,5,10,60,25,"Database:") | ||
lb_db! = wnd!.addListButton(201,65,5,160,250,"") | ||
wnd!.addStaticText(202,270,10,60,25,"Table:") | ||
lb_tbl! = wnd!.addListButton(203,310,5,160,250,"") | ||
btn_query! = wnd!.addButton(204,500,5,100,25,"Query") | ||
btn_fit! = wnd!.addToolButton(205,765,5,25,25,"[/]") | ||
|
||
grid! = new BBjGridExWidget(wnd!,100,0,35,800,563) | ||
|
||
lb_db! .setCallback(BBjAPI.ON_LIST_SELECT,"loadTables") | ||
btn_query! .setCallback(BBjAPI.ON_BUTTON_PUSH,"doQuery") | ||
wnd! .setCallback(BBjAPI.ON_CLOSE,"byebye") | ||
wnd! .setCallback(BBjAPI.ON_RESIZE,"resize") | ||
|
||
btn_fit!.setToggleable(1) | ||
btn_fit!.setCallback(BBjAPI.ON_TOOL_BUTTON_PUSH,"toggleFitToGrid") | ||
|
||
if (info(3,6)<>"5") then | ||
wnd!.setCallback(BBjAPI.ON_KEYPRESS,"onWinKeypress") | ||
fi | ||
|
||
|
||
gosub loadDatabases | ||
gosub doQuery | ||
|
||
rem disable the selection by default to avoid a backdoor if this demo is installed | ||
rem enable to get the full db browsing functionality | ||
rem lb_db!.setEnabled(0) | ||
|
||
|
||
process_events | ||
|
||
loadData: | ||
|
||
return | ||
|
||
|
||
byebye: | ||
bye | ||
|
||
resize: | ||
ev! = BBjAPI().getLastEvent() | ||
grid!.setSize(ev!.getWidth(),ev!.getHeight()-35) | ||
return | ||
|
||
loadDatabases: | ||
j=0 | ||
i=0 | ||
x$ = sqllist(-1) | ||
while x$>"" | ||
db$=x$(1,pos($0a$=x$)-1) | ||
x$=x$(pos($0a$=x$)+1) | ||
lb_db!.addItem(db$) | ||
if db$="ChileCompany" then | ||
j=i | ||
fi | ||
i=i+1 | ||
wend | ||
lb_db!.selectIndex(j) | ||
gosub loadTables | ||
return | ||
|
||
loadTables: | ||
lb_tbl!.removeAllItems() | ||
db$ = lb_db!.getSelectedItem() | ||
sqlopen (1)db$ | ||
x$=sqltables(1) | ||
sqlclose(1) | ||
j=0 | ||
i=0 | ||
while x$>"" | ||
tbl$=x$(1,pos($0a$=x$)-1) | ||
x$=x$(pos($0a$=x$)+1) | ||
lb_tbl!.addItem(tbl$) | ||
if tbl$="CUSTOMER" then | ||
j=i | ||
fi | ||
i=i+1 | ||
wend | ||
lb_tbl!.selectIndex(j) | ||
return | ||
|
||
doQuery: | ||
db$ = lb_db!.getSelectedItem() | ||
tbl$ = lb_tbl!.getSelectedItem() | ||
if (db$>"" and tbl$>"") then | ||
|
||
if rev<"REV 17.10" then | ||
url! = "jdbc:basis:localhost?DATABASE=ChileCompany&SSL=false" | ||
con! = java.sql.DriverManager.getConnection(url!, "admin", "admin123") | ||
else | ||
bc! = new SqlQueryBC(BBjAPI().getJDBCConnection(db$)) | ||
fi | ||
|
||
rs! = bc!.retrieve("SELECT * FROM "+tbl$) | ||
grid!.setData(rs!) | ||
fi | ||
return | ||
|
||
|
||
toggleFitToGrid: | ||
declare auto BBjToolButtonPushEvent toogle_ev! | ||
toggle_ev! = BBjAPI().getLastEvent() | ||
if btn_fit!.isSelected() then | ||
grid!.setFitToGrid(1) | ||
else | ||
grid!.setFitToGrid(0) | ||
fi | ||
return | ||
|
||
onWinKeypress: | ||
declare auto BBjKeypressEvent key_ev! | ||
key_ev! = BBjAPI().getLastEvent() | ||
if key_ev!.getKeyCode() = 342 then | ||
grid!.showDeveloperConsole() | ||
fi | ||
return |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
use ::BBjGridExWidget/BBjGridExWidget.bbj::BBjGridExWidget | ||
use com.basiscomponents.bc.SqlQueryBC | ||
use com.basiscomponents.db.tree.DataTree | ||
use java.sql.Types | ||
|
||
? 'HIDE' | ||
|
||
declare auto BBjTopLevelWindow wnd! | ||
declare auto BBjListButton lb_db! | ||
declare auto BBjListButton lb_tbl! | ||
declare auto BBjToolButton btn_fit! | ||
declare BBjGridExWidget grid! | ||
|
||
wnd! = BBjAPI().openSysGui("X0").addWindow(10,10,1024,768,"BBj Grid Ex Demo") | ||
|
||
|
||
grid! = new BBjGridExWidget(wnd!,100,0,0,1024,768) | ||
|
||
wnd! .setCallback(BBjAPI.ON_CLOSE,"byebye") | ||
wnd! .setCallback(BBjAPI.ON_RESIZE,"resize") | ||
|
||
gosub fillGrid | ||
|
||
process_events | ||
|
||
|
||
fillGrid: | ||
|
||
qbc! = new SqlQueryBC(BBjAPI().getJDBCConnection("ChileCompany")) | ||
|
||
sql$="SELECT | ||
: trim(LAST_NAME)+', '+trim(FIRST_NAME)+' ('+trim(CUST_NUM)+')' AS '__node__name', | ||
: CUST_NUM , | ||
: FIRST_NAME , | ||
: LAST_NAME , | ||
: COMPANY , | ||
: BILL_ADDR1 , | ||
: BILL_ADDR2 , | ||
: CITY , | ||
: STATE , | ||
: COUNTRY , | ||
: POST_CODE , | ||
: PHONE , | ||
: FAX , | ||
: SALESPERSON , | ||
: SHIP_ZONE , | ||
: SHIP_METHOD , | ||
: CURRENT_BAL , | ||
: OVER_30 , | ||
: OVER_60 , | ||
: OVER_90 , | ||
: OVER_120 , | ||
: SALES_MTD , | ||
: SALES_YTD , | ||
: SALES_LY , | ||
: LAST_PURCH_DATE , | ||
: LAST_PAY_DATE , | ||
: CREDIT_CODE | ||
: FROM CUSTOMER " | ||
|
||
|
||
dt! = new DataTree() | ||
|
||
c1! = dt!.getRoot().addChild("Domestic Customers") | ||
c11! = c1!.addChild("New Mexico") | ||
c12! = c1!.addChild("Out of State") | ||
c2! = dt!.getRoot().addChild("Global Customers") | ||
|
||
r! = qbc!.retrieve(sql$+"WHERE COUNTRY='US' AND STATE != 'NM'") | ||
|
||
c11!.setResultSet(r!) | ||
c11!.setFieldValue("STATE","(other)") | ||
c11!.setFieldValue("COUNTRY","US") | ||
|
||
x11 = r!.sum("SALES_YTD") | ||
y11 = r!.sum("SALES_LY") | ||
|
||
c11!.setFieldValue("SALES_YTD", x11) | ||
c11!.setFieldValue("SALES_LY", y11) | ||
|
||
r! = qbc!.retrieve(sql$+"WHERE COUNTRY='US'AND STATE='NM'") | ||
|
||
c12!.setResultSet(r!) | ||
|
||
x12 = r!.sum("SALES_YTD") | ||
y12 = r!.sum("SALES_LY") | ||
|
||
c12!.setFieldValue("STATE","NM") | ||
c12!.setFieldValue("COUNTRY","US") | ||
c12!.setFieldValue("SALES_YTD",x12) | ||
c12!.setFieldValue("SALES_LY", y12) | ||
|
||
c1!.setFieldValue("SALES_YTD",x11+x12) | ||
c1!.setFieldValue("SALES_LY", y11+y12) | ||
|
||
r! = qbc!.retrieve(sql$+"WHERE COUNTRY!='US' AND STATE=''") | ||
|
||
c2!.setResultSet(r!) | ||
c2!.setFieldValue("STATE","(N/A)") | ||
c2!.setFieldValue("COUNTRY","(World)") | ||
|
||
x2 = r!.sum("SALES_YTD") | ||
y2 = r!.sum("SALES_LY") | ||
|
||
c2!.setFieldValue("SALES_YTD", x2) | ||
c2!.setFieldValue("SALES_LY", y1) | ||
|
||
grid!.addColumn("COMPANY","Company Name") | ||
grid!.addColumn("CITY","Town") | ||
grid!.addColumn("STATE","State") | ||
grid!.addColumn("COUNTRY","Country") | ||
grid!.addColumn("PHONE","Telephone") | ||
grid!.addColumn("FAX","Telecopier") | ||
grid!.addColumn("SALESPERSON","Sales Rep") | ||
grid!.addColumn("SALES_YTD","Sales YTD",8) | ||
grid!.addColumn("SALES_LY","Sales Prev.Y.",8) | ||
|
||
grid!.pinColumn("CUST_NUM","left") | ||
grid!.pinColumn("SALES_YTD","right") | ||
grid!.pinColumn("SALES_LY","right") | ||
|
||
|
||
grid!.setData(dt!) | ||
|
||
grid!.setFitToGrid(0) | ||
|
||
return | ||
|
||
|
||
byebye: | ||
bye | ||
|
||
resize: | ||
ev! = BBjAPI().getLastEvent() | ||
grid!.setSize(ev!.getWidth(),ev!.getHeight()) | ||
return |
Oops, something went wrong.