IDEMPIERE-2138:when requery info window, sub tab detail is not refresh

This commit is contained in:
hieplq 2015-08-03 00:06:12 +08:00
parent 22a9ffef6f
commit 1c0bf34bd7
3 changed files with 64 additions and 11 deletions

View File

@ -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("");
}
}
}

View File

@ -175,16 +175,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
//Xolali IDEMPIERE-1045
contentPanel.addActionListener(new EventListener<Event>() {
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-
@ -216,6 +207,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
* load info process info
@ -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)

View File

@ -1497,6 +1497,11 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
}
/**
* Update relate info when selection in main info change
*/
protected void updateSubcontent (){};
/**
* Reset parameter to default value or to empty value? implement at
* inheritance class when reset parameter maybe need init again parameter,
@ -1621,6 +1626,7 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
bindInfoProcess();
}
// IDEMPIERE-1334 after refresh, restore prev selected item end
updateSubcontent ();
}
finally
{