📄 gridtest.xml
字号:
<?xml version="1.0"?><Application> <Window caption="Grid Test" width="500" height="400" centered="true"/> <Resources> <Script><![CDATA[function GridTest() { var win = application.getWindow(); var g = new BiGrid; g.setLocation(10,10); g.setRight(120); g.setBottom(40); var count = 0; var cols = 4; // this returns an array that is used for the data of the grid rows function getArray() { var res = new Array(cols); for (var x = 0; x < cols; x++) { if (x == 0) res[x] = "Item " + count + " (string)"; else if (x == 1) res[x] = new Date( Math.random() * 1e12 ) else res[x] = Math.round(Math.random() * 10000 - 5000); } count++; return res; }; var MAX = 50; var tmp, tmp2, tmp3; for (var i = 0; count < MAX; i++) { g.addRow( tmp = new BiGridRow(getArray()) ); } g.setShowRowHeaders(true); g.setMultipleSelection(true); g.setColumnCount(4); g.setColumnOrders([2,3,0,1]); g.setColumnNames(["Column 0", "Column 1", "Column 2", "Column 3"]); g.setColumnWidths([100,100,100,100]); g.setColumnSortTypes(["string", "date", "number", "number"]); g.setIconColumn(-1); g.getColumns()[2].setAlign("right"); g.getColumns()[1].setVisible( false ); g.addEventListener("create", g.update); win.add(g); /* g.updateColumns(); g.updateData(); */ // iconColumn var iconColumnSpinner = new BiSpinner(); iconColumnSpinner.setMaximum(3); iconColumnSpinner.setMinimum(-1); iconColumnSpinner.setValue(g.getIconColumn()); iconColumnSpinner.addEventListener("change", function () { g.setIconColumn(iconColumnSpinner.getValue()); g.updateData(); }); iconColumnSpinner.setLeft(70); iconColumnSpinner.setBottom(10); win.add(iconColumnSpinner); var cb1 = new BiCheckBox("showHeaders", true); var cb2 = new BiCheckBox("showRowHeaders", true); var cb3 = new BiCheckBox("liveResize", false); cb1.setWidth(100); cb2.setWidth(100); cb3.setWidth(100); cb1.setRight(10); cb2.setRight(10); cb3.setRight(10); cb1.setTop(10); cb2.setTop(30); cb3.setTop(50); win.add(cb1); win.add(cb2); win.add(cb3); cb1.addEventListener("change", function (e) { g.setShowHeaders(cb1.getChecked()); }); cb2.addEventListener("change", function (e) { g.setShowRowHeaders(cb2.getChecked()); }); cb3.addEventListener("change", function (e) { g.setLiveResize(cb3.getChecked()); }); var modeCombo = new BiComboBox(["row", "cell"]); win.add(modeCombo); modeCombo.setLeft(10); modeCombo.setBottom(10); modeCombo.setWidth(50); modeCombo.findString(g.getSelectionMode()).setSelected(true); modeCombo.addEventListener("change", function (e) { g.setSelectionMode( modeCombo.getSelectedItem().getText() ); }); var out = new BiLabel; out.setTop(80); out.setRight(10); out.setWidth(100) out.setBottom(10); win.add(out); g.addEventListener("change", function (e) { var sb = []; var sb2; var nodes = g.getSelectedRows(); var count = g.getColumnCount(); if (g.getSelectionModel()._selectionMode == "row") { for (var i = 0; i < nodes.length; i++) { sb2 = []; for (var j = 0; j < count; j++) sb2.push( nodes[i].getData(j) ); sb.push( "[" + sb2.join(", ") + "]" ); } } else if (g.getSelectionModel()._selectionMode == "cell") { for (var i = 0; i < nodes.length; i++) { sb.push( nodes[i].getData() ); } } out.setText(sb.join("\n")); }); // Context menu to hide/show columns function toggle( e ) { var x = e.getTarget().getUserData(); g.getColumns()[x].setVisible( e.getTarget().getChecked() ); g.update(); } var menu = new BiMenu; menu.addEventListener( "beforeshow", function ( e ) { menu.removeAll(); var l = g.getColumnCount(); var mi; mi = new BiCheckBoxMenuItem( "Show headers" ); mi.setChecked( g.getShowHeaders() ); mi.addEventListener( "change", function ( e ) { g.setShowHeaders( e.getTarget().getChecked() ); g.update(); }); menu.add( mi ); mi = new BiCheckBoxMenuItem( "Show row headers" ); mi.setChecked( g.getShowRowHeaders() ); mi.addEventListener( "change", function ( e ) { g.setShowRowHeaders( e.getTarget().getChecked() ); g.update(); }); menu.add( mi ); menu.add( new BiMenuSeparator() ); for ( var i = 0; i < l; i++ ) { mi = new BiCheckBoxMenuItem( g.getColumns()[i].getName() ); mi.setChecked( g.getColumns()[i].getVisible() ); mi.setUserData( i ); menu.add( mi ); mi.addEventListener( "change", toggle ); } }); g.setContextMenu( menu );}GridTest.main = function () { new GridTest; }; ]]></Script> </Resources></Application>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -