Browse Source

Merge pull request #1295 in BA/design from ~YAOH.WU/a_design_0811:release/9.0 to release/9.0

* commit '046a7e7f9530a48145118288a3e99262cba4a474':
  REPORT-4840 单元格元素数据列 数据汇总方法设置不能保存
  单元格元素数据列数据设置列表显示多出空白区域问题
master
superman 7 years ago
parent
commit
730d7ea5ce
  1. 48
      designer/src/com/fr/design/dscolumn/ResultSetGroupDockingPane.java
  2. 2
      designer/src/com/fr/quickeditor/cellquick/CellDSColumnEditor.java

48
designer/src/com/fr/design/dscolumn/ResultSetGroupDockingPane.java

@ -23,7 +23,7 @@ import java.awt.event.ItemListener;
* 这个pane是选中数据列后在上方QuickRegion处显示的pane * 这个pane是选中数据列后在上方QuickRegion处显示的pane
* *
* @author zhou, yaoh.wu * @author zhou, yaoh.wu
* @version 2017年8月2日14点55 * @version 2017年9月26日17点22
* @since 8.0 * @since 8.0
*/ */
public class ResultSetGroupDockingPane extends ResultSetGroupPane { public class ResultSetGroupDockingPane extends ResultSetGroupPane {
@ -70,7 +70,6 @@ public class ResultSetGroupDockingPane extends ResultSetGroupPane {
cardLayout.show(cardPane, "groupPane"); cardLayout.show(cardPane, "groupPane");
cardPane.setPreferredSize(new Dimension(158, 20)); cardPane.setPreferredSize(new Dimension(158, 20));
TableLayoutHelper.modifyTableLayoutIndexVGap(contentPane, 2, 10); TableLayoutHelper.modifyTableLayoutIndexVGap(contentPane, 2, 10);
checkButtonEnabled();
} else if (i == BIND_SELECTED) { } else if (i == BIND_SELECTED) {
cardLayout.show(cardPane, "listPane"); cardLayout.show(cardPane, "listPane");
cardPane.setPreferredSize(new Dimension(0, 0)); cardPane.setPreferredSize(new Dimension(0, 0));
@ -81,8 +80,8 @@ public class ResultSetGroupDockingPane extends ResultSetGroupPane {
TableLayoutHelper.modifyTableLayoutIndexVGap(contentPane, 2, 10); TableLayoutHelper.modifyTableLayoutIndexVGap(contentPane, 2, 10);
CellExpandAttr cellExpandAttr = cellElement.getCellExpandAttr(); CellExpandAttr cellExpandAttr = cellElement.getCellExpandAttr();
cellExpandAttr.setDirection(Constants.NONE); cellExpandAttr.setDirection(Constants.NONE);
checkButtonEnabled();
} }
checkButtonEnabled();
} }
}); });
@ -116,13 +115,13 @@ public class ResultSetGroupDockingPane extends ResultSetGroupPane {
@Override @Override
public void populate(TemplateCellElement cellElement) { public void populate(TemplateCellElement cellElement) {
//更新面板信息时可能会触发绑定在组件上的事件,先移除这些事件
this.removeListener();
this.cellElement = cellElement; this.cellElement = cellElement;
if (isNPE(cellElement)) {
if (isNPE(cellElement)) return; return;
}
DSColumn dSColumn = (DSColumn) cellElement.getValue(); DSColumn dSColumn = (DSColumn) cellElement.getValue();
// populate groupPane
// RecordGrouper
recordGrouper = dSColumn.getGrouper(); recordGrouper = dSColumn.getGrouper();
if (recordGrouper instanceof FunctionGrouper && !((FunctionGrouper) recordGrouper).isCustom()) { if (recordGrouper instanceof FunctionGrouper && !((FunctionGrouper) recordGrouper).isCustom()) {
int mode = recordGrouper.getDivideMode(); int mode = recordGrouper.getDivideMode();
@ -154,13 +153,16 @@ public class ResultSetGroupDockingPane extends ResultSetGroupPane {
this.groupComboBox.setSelectedIndex(ADVANCED); this.groupComboBox.setSelectedIndex(ADVANCED);
} }
checkButtonEnabled(); checkButtonEnabled();
//加上面板组件的交互事件监听
this.addListener();
} }
@Override @Override
public void update() { public void update() {
if (isNPE(cellElement)) return; if (isNPE(cellElement)) {
return;
}
DSColumn dSColumn = (DSColumn) cellElement.getValue(); DSColumn dSColumn = (DSColumn) cellElement.getValue();
if (this.goBox.getSelectedIndex() == BIND_GROUP) { if (this.goBox.getSelectedIndex() == BIND_GROUP) {
recordGrouper = updateGroupCombox(); recordGrouper = updateGroupCombox();
} else if (this.goBox.getSelectedIndex() == BIND_SELECTED) { } else if (this.goBox.getSelectedIndex() == BIND_SELECTED) {
@ -194,17 +196,21 @@ public class ResultSetGroupDockingPane extends ResultSetGroupPane {
cardPane.setPreferredSize(new Dimension(158, 50)); cardPane.setPreferredSize(new Dimension(158, 50));
cardPane.revalidate(); cardPane.revalidate();
cardPane.repaint(); cardPane.repaint();
} else { return;
}
if (groupComboBox.isEnabled() || functionComboBox.isEnabled()) {
cardPane.setPreferredSize(new Dimension(158, 20)); cardPane.setPreferredSize(new Dimension(158, 20));
cardPane.revalidate(); cardPane.revalidate();
cardPane.repaint(); cardPane.repaint();
return;
} }
cardPane.setPreferredSize(new Dimension(158, 0));
cardPane.revalidate();
cardPane.repaint();
} }
public void addListener(ItemListener listener) {
goBox.addItemListener(listener); public void setListener(ItemListener listener) {
groupComboBox.addItemListener(listener);
functionComboBox.addItemListener(listener);
this.listener = listener; this.listener = listener;
} }
@ -216,4 +222,16 @@ public class ResultSetGroupDockingPane extends ResultSetGroupPane {
public void setRecordGrouper(RecordGrouper recordGrouper) { public void setRecordGrouper(RecordGrouper recordGrouper) {
this.recordGrouper = recordGrouper; this.recordGrouper = recordGrouper;
} }
private void addListener() {
goBox.addItemListener(this.listener);
groupComboBox.addItemListener(this.listener);
functionComboBox.addItemListener(this.listener);
}
private void removeListener() {
goBox.removeItemListener(this.listener);
groupComboBox.removeItemListener(this.listener);
functionComboBox.removeItemListener(this.listener);
}
} }

2
designer/src/com/fr/quickeditor/cellquick/CellDSColumnEditor.java

@ -219,7 +219,7 @@ public class CellDSColumnEditor extends CellQuickEditor {
dataPane = new SelectedDataColumnPane(true, true, tc, cellElement); dataPane = new SelectedDataColumnPane(true, true, tc, cellElement);
groupPane = new ResultSetGroupDockingPane(); groupPane = new ResultSetGroupDockingPane();
dataPane.addListener(dataListener); dataPane.addListener(dataListener);
groupPane.addListener(groupListener); groupPane.setListener(groupListener);
double[] rowSize = {P}, columnSize = {P, F}; double[] rowSize = {P}, columnSize = {P, F};
UILabel uiLabel = new UILabel(Inter.getLocText("FR-Designer_Filter_Conditions")); UILabel uiLabel = new UILabel(Inter.getLocText("FR-Designer_Filter_Conditions"));

Loading…
Cancel
Save