diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoProductWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoProductWindow.java index 12fe268283..ab6b9def78 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoProductWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoProductWindow.java @@ -873,5 +873,29 @@ public class InfoProductWindow extends InfoWindow { m_PAttributeButton.setEnabled(false); } - + @Override + protected void updateSubcontent() { + super.updateSubcontent(); + int row = contentPanel.getSelectedRow(); + if (row < 0){ + if (warehouseTbl != null && warehouseTbl.getModel() != null) + warehouseTbl.getModel().clear(); + + if (substituteTbl != null && substituteTbl.getModel() != null) + substituteTbl.getModel().clear(); + + if (relatedTbl != null && relatedTbl.getModel() != null) + relatedTbl.getModel().clear(); + + if (m_tableAtp != null && m_tableAtp.getModel() != null) + m_tableAtp.getModel().clear(); + + if (productpriceTbl != null && productpriceTbl.getModel() != null) + productpriceTbl.getModel().clear(); + + if (fieldDescription != null) + fieldDescription.setText(""); + } + + } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java index dd335178ed..4437660ae6 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java @@ -175,16 +175,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL //Xolali IDEMPIERE-1045 contentPanel.addActionListener(new EventListener() { public void onEvent(Event event) throws Exception { - int row = contentPanel.getSelectedRow(); - if (row >= 0) { - for (EmbedWinInfo embed : embeddedWinList) { - int indexData = 0; - if (columnDataIndex.containsKey(embed.getParentLinkColumnID())){ - indexData = p_layout.length + columnDataIndex.get(embed.getParentLinkColumnID()); - } - refresh(contentPanel.getValueAt(row,indexData),embed); - }// refresh for all - } + updateSubcontent(); } }); //xolali --end- @@ -215,6 +206,29 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } } } + + /** + * {@inheritDoc} + */ + @Override + protected void updateSubcontent (){ + int row = contentPanel.getSelectedRow(); + if (row >= 0) { + for (EmbedWinInfo embed : embeddedWinList) { + // default link column is key column + int indexData = 0; + if (columnDataIndex.containsKey(embed.getParentLinkColumnID())){ + // get index of link column + indexData = p_layout.length + columnDataIndex.get(embed.getParentLinkColumnID()); + } + refresh(contentPanel.getValueAt(row,indexData),embed); + }// refresh for all + }else{ + for (EmbedWinInfo embed : embeddedWinList) { + refresh(embed); + } + } + } /** * IDEMPIERE-1334 @@ -1803,6 +1817,15 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } } // refresh + protected void refresh(EmbedWinInfo relatedInfo){ + if (relatedInfo.getInfoTbl() != null){ + if (((WListbox)relatedInfo.getInfoTbl()).getModel() != null) + ((WListbox)relatedInfo.getInfoTbl()).getModel().clear(); + else + ((WListbox)relatedInfo.getInfoTbl()).clear(); + } + } + /** * @author xolali IDEMPIERE-1045 * loadEmbedded(ResultSet rs, EmbedWinInfo info) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java index 75337d0441..94b4eda7be 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java @@ -1496,6 +1496,11 @@ public abstract class InfoPanel extends Window implements EventListener, protected void initParameters() { } + + /** + * Update relate info when selection in main info change + */ + protected void updateSubcontent (){}; /** * Reset parameter to default value or to empty value? implement at @@ -1621,6 +1626,7 @@ public abstract class InfoPanel extends Window implements EventListener, bindInfoProcess(); } // IDEMPIERE-1334 after refresh, restore prev selected item end + updateSubcontent (); } finally {