IDEMPIERE-4514 Grid View Layout Bug (#333)

This commit is contained in:
hengsin 2020-10-30 23:35:25 +08:00 committed by GitHub
parent e1cf1ada4d
commit 8a1301b1fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 46 additions and 3 deletions

View File

@ -1721,7 +1721,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer
if (listPanel.isVisible()) {
listPanel.refresh(gridTab);
listPanel.scrollToCurrentRow();
listPanel.getListbox().invalidate();
listPanel.invalidate();
} else {
listPanel.deactivate();
}

View File

@ -46,6 +46,7 @@ import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Center;
import org.zkoss.zul.Menuitem;
import org.zkoss.zul.Row;
import org.zkoss.zul.RowRenderer;
@ -916,6 +917,11 @@ public class CompositeADTabbox extends AbstractADTabbox
&& currentRow < tabPanel.getGridTab().getRowCount()) {
tabPanel.getGridTab().setCurrentRow(currentRow, false);
}
Center center = findCenter(tabPanel.getGridView());
if (center != null)
center.invalidate();
else
tabPanel.invalidate();
}
if (!tabPanel.isVisible()) {
tabPanel.setVisible(true);
@ -941,6 +947,18 @@ public class CompositeADTabbox extends AbstractADTabbox
tabPanel.switchRowPresentation();
}
private Center findCenter(GridView gridView) {
if (gridView == null)
return null;
Component p = gridView.getParent();
while (p != null) {
if (p instanceof Center)
return (Center)p;
p = p.getParent();
}
return null;
}
private void showLastError() {
String msg = CLogger.retrieveErrorString(null);
if (msg != null)

View File

@ -58,6 +58,7 @@ import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Cell;
import org.zkoss.zul.Center;
import org.zkoss.zul.Column;
import org.zkoss.zul.Div;
import org.zkoss.zul.Paging;
@ -798,7 +799,11 @@ public class GridView extends Vlayout implements EventListener<Event>, IdSpace,
listModel.setPage(pgNo);
onSelectedRowChange(0);
gridTab.clearSelection();
listbox.invalidate();
Center center = findCenter(this);
if (center != null)
center.invalidate();
else
this.invalidate();
}
}
else if (event.getTarget() == selectAll)
@ -830,6 +835,18 @@ public class GridView extends Vlayout implements EventListener<Event>, IdSpace,
}
}
private Center findCenter(GridView gridView) {
if (gridView == null)
return null;
Component p = gridView.getParent();
while (p != null) {
if (p instanceof Center)
return (Center)p;
p = p.getParent();
}
return null;
}
private boolean isAllSelected() {
org.zkoss.zul.Rows rows = listbox.getRows();
List<Component> childs = rows.getChildren();
@ -1203,7 +1220,11 @@ public class GridView extends Vlayout implements EventListener<Event>, IdSpace,
refresh(gridTab);
scrollToCurrentRow();
listbox.invalidate();
Center center = findCenter(this);
if (center != null)
center.invalidate();
else
this.invalidate();
}
/**

View File

@ -139,6 +139,8 @@
.adwindow-detailpane-toolbar {
border: none;
height: 2em;
background: none;
}
.adwindow-detailpane-toolbar .z-toolbar-body {
@ -189,6 +191,8 @@
.adwindow-detailpane-adtab-grid-south .z-paging {
padding: 0px !important;
height: 2em;
border: none;
}
.adwindow-detailpane-adtab-grid-south .z-paging .z-paging-inp {