Difference between revisions of "User:CTI"
From ADempiere
This Wiki is read-only for reference purposes to avoid broken links.
m |
m |
||
Line 22: | Line 22: | ||
− | + | ||
'''Modificar las siguientes clase.''' | '''Modificar las siguientes clase.''' | ||
− | = | + | = client > src > org > compiere > grid VTable.java = |
<pre>** | <pre>** | ||
Line 152: | Line 152: | ||
</pre> | </pre> | ||
− | = = | + | =base > src > org > compiere > swing > CTable.java = |
<pre> | <pre> | ||
* Model Independent enhanced JTable. | * Model Independent enhanced JTable. | ||
Line 176: | Line 176: | ||
− | |||
− | |||
− | + | =client > src > org > compiere > grid GridController.java= | |
+ | |||
− | |||
<pre> | <pre> | ||
private void init() | private void init() |
Revision as of 00:01, 13 August 2010
Contents
Preface
- This Contributions can make possible to save columns GRIDS.
- Instructions are in Spanish but is easily to translate or understand,just 3 classes need for modify a table
- 1.- DB. Crear un campo en la Tabla AD_Column Tipo Char(1) Nombre isMultiRow
- 2.- Actualizar los campos en la Ventana de Tablas y Columnas, Tab Columnas, ya que se puede configurar tambien en el momento
- de diseño de la tabla.
Modificar las siguientes clase.
client > src > org > compiere > grid VTable.java
** * Table Grid based on CTable. * Used in GridController * * @author Jorg Janke * @version $Id: VTable.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $ * * @author Teo Sarca, SC ARHIPAC SERVICE SRL - FR [ 1753943 ] */ public final class VTable extends CTable implements PropertyChangeListener { /** + private final static String SAVE_ALL_COMMAND = CColumnControlButton.COLUMN_CONTROL_MARKER + "saveAll"; + private int pTabla_Id=0; + private GridTab m_mTab = null; /** * Default Constructor */ public VTable() { super(); setAutoscrolls(true); putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); new VTableExcelAdapter(this); // teo_sarca - FR [ 1753943 ] getActionMap().put(PACK_ALL_COMMAND, createPackAllAction()); + getActionMap().put(SAVE_ALL_COMMAND, createSaveColumnDisplay()); } // VTable /** * Save all column */ + public void SaveAll() S + { + SaveAll(this); + } + public void pAsgTable_id( int iValor_Id) + { + pTabla_Id=iValor_Id; + } + public int pTabla_id() + { + return pTabla_Id; + } + public void pSet_mTab(GridTab mTab) + { + m_mTab=mTab; + } + public GridTab pGet_mTab() + { + return m_mTab; + } + public void SetColVisible(VTable la_tabla) { + String SQL = "SELECT * FROM AD_Column WHERE AD_Table_ID =" +la_tabla.pTabla_id() +" and IsActive='Y' and isMultiRow='N'"; + int size = la_tabla.pGet_mTab().getFieldCount (); + try + { + PreparedStatement pstmt = DB.prepareStatement(SQL, "AD_Column"); + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) + { + for (int i = 0; i < size; i++) + { + GridField mField = la_tabla.pGet_mTab().getField (i); + if(mField.getAD_Column_ID()==rs.getInt("Ad_Column_ID")) + { + TableColumn column = null; + column = la_tabla.getColumn(rs.getString("columnname")); + setColumnVisibility(column, false); + break; + } + } + } + rs.close(); + pstmt.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + la_tabla.configureEnclosingScrollPane(); + } + public void SaveAll(VTable la_tabla) + { + pActiva_todo(la_tabla.pTabla_id()); + for(int hCol=0;hCol<=gethiddenColumns().size()-1;hCol++) + { + TableColumn column = null; + column= gethiddenColumns().get(hCol); + pOculta_Seleccion(column, la_tabla); + } + } + private void pOculta_Seleccion(TableColumn column, VTable la_tabla) // + Graba seleccion + { + int size = la_tabla.pGet_mTab().getFieldCount (); + for (int i = 0; i < size; i++) + { + GridField mField = la_tabla.pGet_mTab().getField (i); + if(mField.getHeader().toString().equalsIgnoreCase(column.getHeaderValue().toString())) + { + String sqlUpdate="Update AD_Column set isMultiRow='N' WHERE AD_Table_ID = "+ la_tabla.pTabla_id()+ " and + + AD_Column_ID="+mField.getAD_Column_ID(); + int updated2 = DB.executeUpdate(sqlUpdate, null); + break; + } + } + } + private void pActiva_todo(int iTable_id) + { + String sqlUpdate = ""; + sqlUpdate="Update AD_Column set isMultiRow='Y' WHERE AD_Table_ID = "+iTable_id ; + int updated1 = DB.executeUpdate(sqlUpdate, null); + + } } // VTable
base > src > org > compiere > swing > CTable.java
* Model Independent enhanced JTable. * Provides sizing and sorting. * * @author Jorg Janke * @version $Id: CTable.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $ * * @author Teo Sarca, SC ARHIPAC SERVICE SRL - BF [ 1585369 ], FR [ 1753943 ] */ +++++ '''Crear esta funcion''' public class CTable extends JTable { + public List<TableColumn> gethiddenColumns() { + return hiddenColumns; + } + { + } } // CTable
client > src > org > compiere > grid GridController.java
private void init() { // Set up Multi Row Table vTable.setModel(m_mTab.getTableModel()); // Update Table Info ------------------------------------------------- + vTable.pAsgTable_id(m_mTab.getAD_Table_ID()); + vTable.pSet_mTab(m_mTab); + vTable.SetColVisible(vTable); int size = setupVTable (m_aPanel, m_mTab, vTable); } } // GridController