Difference between revisions of "User:CTI"
From ADempiere
This Wiki is read-only for reference purposes to avoid broken links.
m |
m |
||
Line 13: | Line 13: | ||
− | *[[ | + | *[[Crear la columna:isColumnViewControl en AdColumn tipo Si/No defaultd ='Y']] |
+ | *[["ISCOLUMNVIEWCONTROL" CHAR(1 BYTE) DEFAULT 'Y' NOT NULL ENABLE, ]] | ||
− | |||
− | |||
− | |||
[[File:cti2.gif]] | [[File:cti2.gif]] | ||
Line 23: | Line 21: | ||
− | '''Modificar las siguientes | + | '''Modificar las siguientes clases''' |
= client > src > org > compiere > grid VTable.java = | = client > src > org > compiere > grid VTable.java = | ||
− | <pre> | + | <pre> |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ private final static String SAVE_ALL_COMMAND = CColumnControlButton.COLUMN_CONTROL_MARKER + "saveAll"; | + private final static String SAVE_ALL_COMMAND = CColumnControlButton.COLUMN_CONTROL_MARKER + "saveAll"; | ||
− | + private int | + | + private int AD_Table_ID=0; |
− | + private GridTab m_mTab = null; | + | + private GridTab m_mTab = null; |
− | + | ||
− | + | ||
− | + | // Modificar lo Siguiente | |
− | + | ||
+ | public VTable() | ||
{ | { | ||
super(); | super(); | ||
Line 51: | Line 40: | ||
putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); | putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); | ||
new VTableExcelAdapter(this); // teo_sarca - FR [ 1753943 ] | new VTableExcelAdapter(this); // teo_sarca - FR [ 1753943 ] | ||
− | |||
getActionMap().put(PACK_ALL_COMMAND, createPackAllAction()); | getActionMap().put(PACK_ALL_COMMAND, createPackAllAction()); | ||
− | + | + | ++ getActionMap().put(SAVE_ALL_COMMAND, createSaveColumnDisplay()); |
− | + | } | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | // Crear o agregar estas funciones: | |
− | + | private Action createSaveColumnDisplay() | |
− | + | { | |
− | + | //TODO: localization | |
− | + | BoundAction action = new BoundAction("Guardar Seleccion", SAVE_ALL_COMMAND); | |
− | + | action.setLongDescription("Guardar Seleccion de Columnas"); | |
− | + | action.registerCallback(this, "SaveAll"); | |
− | + | return action; | |
+ | |||
+ | } | ||
+ | public void SaveAll() | ||
+ | { | ||
+ | SaveAllColumnView(); | ||
+ | } | ||
+ | public void SetTable_ID( int i_AD_Table_ID) | ||
+ | { | ||
+ | AD_Table_ID=i_AD_Table_ID; | ||
+ | } | ||
+ | public int GetTable_ID() | ||
+ | { | ||
+ | return AD_Table_ID; | ||
+ | } | ||
+ | public void SetmTab(GridTab mTab) | ||
+ | { | ||
+ | m_mTab=mTab; | ||
+ | } | ||
− | + | public GridTab GetmTab() | |
− | + | { | |
− | + | return m_mTab; | |
− | + | } | |
− | + | public void SetColVisibleOff() // columnas ocultas | |
− | + | { | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | + | String SQL = "SELECT * FROM AD_Column WHERE AD_Table_ID =" + AD_Table_ID +" and IsActive='Y' and isColumnViewControl='N'"; |
− | + | int size = GetmTab().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 = GetmTab().getField (i); | ||
+ | if(mField.getAD_Column_ID()==rs.getInt("Ad_Column_ID")) | ||
+ | { | ||
+ | |||
+ | TableColumn column = null; | ||
+ | column = getColumn(rs.getString("columnname")); | ||
+ | setColumnVisibility(column, false); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | rs.close(); | ||
+ | pstmt.close(); | ||
+ | } | ||
+ | catch (SQLException e) | ||
+ | { | ||
+ | e.printStackTrace(); | ||
+ | } | ||
+ | } | ||
+ | public void SaveAllColumnView() | ||
+ | { | ||
+ | SetOnColumnViewSelect(AD_Table_ID); | ||
+ | for(int hCol=0;hCol<=gethiddenColumns().size()-1;hCol++) | ||
+ | { | ||
+ | TableColumn column = null; | ||
+ | column= gethiddenColumns().get(hCol); | ||
+ | SetOffColumnViewSelect(column); | ||
+ | |||
+ | } | ||
+ | } | ||
+ | private void SetOffColumnViewSelect(TableColumn column) // + Graba seleccion | ||
+ | { | ||
+ | int size = GetmTab().getFieldCount (); | ||
+ | for (int i = 0; i < size; i++) | ||
+ | { | ||
+ | GridField mField = GetmTab().getField (i); | ||
+ | if(mField.getHeader().toString().equalsIgnoreCase(column.getHeaderValue().toString())) | ||
+ | { | ||
+ | String sqlUpdate="Update AD_Column set isColumnViewControl='N' WHERE AD_Table_ID = "+ AD_Table_ID+ " and AD_Column_ID="+mField.getAD_Column_ID(); | ||
+ | int updated2 = DB.executeUpdate(sqlUpdate, null); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | private void SetOnColumnViewSelect(int iTable_id) | ||
+ | { | ||
+ | String sqlUpdate = ""; | ||
+ | sqlUpdate="Update AD_Column set isColumnViewControl='Y' WHERE AD_Table_ID = "+iTable_id ; | ||
+ | int updated1 = DB.executeUpdate(sqlUpdate, null); | ||
+ | |||
+ | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
=base > src > org > compiere > swing > CTable.java = | =base > src > org > compiere > swing > CTable.java = | ||
<pre> | <pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | public List<TableColumn> gethiddenColumns() { // "*isColumnViewControl" | |
− | + | return hiddenColumns; | |
− | + | } | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
Line 187: | Line 162: | ||
vTable.setModel(m_mTab.getTableModel()); | vTable.setModel(m_mTab.getTableModel()); | ||
// Update Table Info ------------------------------------------------- | // Update Table Info ------------------------------------------------- | ||
− | + vTable. | + | |
− | + vTable. | + | + vTable.SetTable_ID(m_mTab.getAD_Table_ID()); |
− | + vTable. | + | + vTable.SetmTab(m_mTab); |
+ | + vTable.SetColVisibleOff(); // Futuramente preguntar por mTab control Columna | ||
+ | |||
int size = setupVTable (m_aPanel, m_mTab, vTable); | int size = setupVTable (m_aPanel, m_mTab, vTable); | ||
Revision as of 21:32, 14 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
- Crear la columna:isColumnViewControl en AdColumn tipo Si/No defaultd ='Y'
- "ISCOLUMNVIEWCONTROL" CHAR(1 BYTE) DEFAULT 'Y' NOT NULL ENABLE,
Modificar las siguientes clases
client > src > org > compiere > grid VTable.java
+ private final static String SAVE_ALL_COMMAND = CColumnControlButton.COLUMN_CONTROL_MARKER + "saveAll"; + private int AD_Table_ID=0; + private GridTab m_mTab = null; // Modificar lo Siguiente 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()); } // Crear o agregar estas funciones: private Action createSaveColumnDisplay() { //TODO: localization BoundAction action = new BoundAction("Guardar Seleccion", SAVE_ALL_COMMAND); action.setLongDescription("Guardar Seleccion de Columnas"); action.registerCallback(this, "SaveAll"); return action; } public void SaveAll() { SaveAllColumnView(); } public void SetTable_ID( int i_AD_Table_ID) { AD_Table_ID=i_AD_Table_ID; } public int GetTable_ID() { return AD_Table_ID; } public void SetmTab(GridTab mTab) { m_mTab=mTab; } public GridTab GetmTab() { return m_mTab; } public void SetColVisibleOff() // columnas ocultas { String SQL = "SELECT * FROM AD_Column WHERE AD_Table_ID =" + AD_Table_ID +" and IsActive='Y' and isColumnViewControl='N'"; int size = GetmTab().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 = GetmTab().getField (i); if(mField.getAD_Column_ID()==rs.getInt("Ad_Column_ID")) { TableColumn column = null; column = getColumn(rs.getString("columnname")); setColumnVisibility(column, false); break; } } } rs.close(); pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } public void SaveAllColumnView() { SetOnColumnViewSelect(AD_Table_ID); for(int hCol=0;hCol<=gethiddenColumns().size()-1;hCol++) { TableColumn column = null; column= gethiddenColumns().get(hCol); SetOffColumnViewSelect(column); } } private void SetOffColumnViewSelect(TableColumn column) // + Graba seleccion { int size = GetmTab().getFieldCount (); for (int i = 0; i < size; i++) { GridField mField = GetmTab().getField (i); if(mField.getHeader().toString().equalsIgnoreCase(column.getHeaderValue().toString())) { String sqlUpdate="Update AD_Column set isColumnViewControl='N' WHERE AD_Table_ID = "+ AD_Table_ID+ " and AD_Column_ID="+mField.getAD_Column_ID(); int updated2 = DB.executeUpdate(sqlUpdate, null); break; } } } private void SetOnColumnViewSelect(int iTable_id) { String sqlUpdate = ""; sqlUpdate="Update AD_Column set isColumnViewControl='Y' WHERE AD_Table_ID = "+iTable_id ; int updated1 = DB.executeUpdate(sqlUpdate, null); }
base > src > org > compiere > swing > CTable.java
public List<TableColumn> gethiddenColumns() { // "*isColumnViewControl" return hiddenColumns; }
client > src > org > compiere > grid GridController.java
private void init() { // Set up Multi Row Table vTable.setModel(m_mTab.getTableModel()); // Update Table Info ------------------------------------------------- + vTable.SetTable_ID(m_mTab.getAD_Table_ID()); + vTable.SetmTab(m_mTab); + vTable.SetColVisibleOff(); // Futuramente preguntar por mTab control Columna int size = setupVTable (m_aPanel, m_mTab, vTable); } } // GridController