package demo41; import javax.swing.*; import org.openswing.swing.client.*; import java.awt.*; import org.openswing.swing.table.columns.client.*; import org.openswing.swing.lookup.client.LookupController; import java.sql.*; import java.awt.event.*; import org.openswing.swing.table.java.*; import org.openswing.swing.util.client.ClientSettings; import org.openswing.swing.table.columns.client.ComboVOColumn; /** * <p>Title: OpenSwing Framework</p> * <p>Description: Grid Frame</p> * <p>Copyright: Copyright (C) 2006 Mauro Carniel</p> * <p> </p> * @author Mauro Carniel * @version 1.0 */ public class GridFrame extends JFrame { GridControl grid = new GridControl(); JPanel buttonsPanel = new JPanel(); ReloadButton reloadButton = new ReloadButton(); DeleteButton deleteButton = new DeleteButton(); FlowLayout flowLayout1 = new FlowLayout(); IntegerColumn colProdId = new IntegerColumn(); TextColumn colName = new TextColumn(); ComboVOColumn colUnitName = new ComboVOColumn(); InsertButton insertButton = new InsertButton(); private Connection conn = null; EditButton editButton = new EditButton(); NavigatorBar navigatorBar1 = new NavigatorBar(); ExportButton exportButton1 = new ExportButton(); SaveButton saveButton1 = new SaveButton(); public GridFrame(Connection conn,GridFrameController controller) { super.setDefaultCloseOperation(super.EXIT_ON_CLOSE); this.conn = conn; try { jbInit(); setSize(550,400); grid.setController(controller); grid.setGridDataLocator(controller); setVisible(true); } catch(Exception e) { e.printStackTrace(); } } public void reloadData() { grid.reloadData(); } private void jbInit() throws Exception { navigatorBar1.setShowPaginationButtons(false); buttonsPanel.setLayout(flowLayout1); flowLayout1.setAlignment(FlowLayout.LEFT); grid.setDefaultQuickFilterCriteria(org.openswing.swing.util.java.Consts.CONTAINS); grid.setDeleteButton(deleteButton); grid.setEditButton(editButton); grid.setExportButton(exportButton1); grid.setFunctionId("F1"); grid.setInsertButton(insertButton); grid.setMaxSortedColumns(2); grid.setNavBar(navigatorBar1); grid.setReloadButton(reloadButton); grid.setSaveButton(saveButton1); grid.setValueObjectClassName("demo41.Products"); grid.setOrderWithLoadData(false); colProdId.setColumnFilterable(true); colProdId.setColumnRequired(false); colProdId.setColumnName("id"); colProdId.setColumnSortable(true); colProdId.setEditableOnEdit(false); colProdId.setEditableOnInsert(false); colProdId.setPreferredWidth(80); colName.setColumnFilterable(true); colName.setColumnName("pname"); colName.setColumnSortable(true); colName.setEditableOnEdit(true); colName.setEditableOnInsert(true); colName.setPreferredWidth(150); colName.setSortVersus(org.openswing.swing.util.java.Consts.ASC_SORTED); colName.setSortingOrder(1); colUnitName.setColumnName("units.unitName"); colUnitName.setEditableOnEdit(true); colUnitName.setEditableOnInsert(true); colUnitName.setPreferredWidth(200); insertButton.setText("insertButton1"); this.getContentPane().add(grid, BorderLayout.CENTER); this.getContentPane().add(buttonsPanel, BorderLayout.NORTH); buttonsPanel.add(insertButton, null); buttonsPanel.add(editButton, null); buttonsPanel.add(reloadButton, null); buttonsPanel.add(saveButton1, null); buttonsPanel.add(deleteButton, null); buttonsPanel.add(navigatorBar1, null); buttonsPanel.add(exportButton1, null); grid.getColumnContainer().add(colProdId, null); grid.getColumnContainer().add(colName, null); grid.getColumnContainer().add(colUnitName, null); this.setTitle(ClientSettings.getInstance().getResources().getResource("products")); UnitsDataLocator comboLocator = new UnitsDataLocator(conn); colUnitName.setComboDataLocator(comboLocator); colUnitName.setComboValueObjectClassName("demo41.Units"); colUnitName.setAllColumnVisible(false); colUnitName.setVisibleColumn("id",true); colUnitName.setVisibleColumn("unitName",true); colUnitName.setPreferredWidthColumn("id",50); colUnitName.setPreferredWidthColumn("unitName",140); colUnitName.addCombo2ParentLink("id","units.id"); colUnitName.setForeignKeyAttributeName("unitName"); } public GridControl getGrid() { return grid; } }