From 3fca8d2ad1dd3920855d00633d55c0436a99c795 Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 12 Mar 2018 10:12:07 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-7111=20=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E2=80=94=20=E8=A1=A8=E5=8D=95=E2=80=94=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E2=80=9C=E8=AE=BE=E8=AE=A1=E6=89=8B=E6=9C=BA=E7=AB=AF=E4=B8=93?= =?UTF-8?q?=E5=B1=9E=E6=A8=A1=E6=9D=BF=E2=80=9D=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E5=9C=A8=E6=8A=A5=E8=A1=A8=E5=9D=97=E4=B8=AD=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=BA=86=E5=A4=9A=E6=9D=A1=E7=94=BB=E5=B8=83=E8=BE=B9=E7=BC=98?= =?UTF-8?q?=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/FormElementCasePaneDelegate.java | 9 ++++++++- designer/src/com/fr/grid/Grid.java | 14 ++++++++++---- designer/src/com/fr/grid/GridUI.java | 12 +++++++++--- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java b/designer/src/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java index 4549d6d163..fec838578d 100644 --- a/designer/src/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java +++ b/designer/src/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java @@ -21,6 +21,7 @@ import com.fr.design.menu.ShortCut; import com.fr.design.menu.ToolBarDef; import com.fr.design.present.ConditionAttributesGroupPane; import com.fr.form.main.Form; +import com.fr.grid.Grid; import com.fr.js.NameJavaScriptGroup; import com.fr.page.ReportSettingsProvider; import com.fr.report.elementcase.TemplateElementCase; @@ -34,7 +35,13 @@ public class FormElementCasePaneDelegate extends ElementCasePaneComponent that is handling the editing. */ + public static final int MULTIPLE_PAGINATE_LINE = 1; // 绘制多条分页线 + public static final int SINGLE_HORIZONTAL_PAGINATE_LINE = 2; // 仅绘制一条水平分页线 private static final int VERTICAL_EXTENT_INITIAL_VALUE = 50; private static final int HORIZONTAL_EXTENT_INITIAL_VALUE = 40; transient protected Component editorComponent; @@ -58,6 +60,7 @@ public class Grid extends BaseGridComponent { private Color gridLineColor = UIConstants.RULER_LINE_COLOR; // line color. private boolean isShowPaginateLine = true; + private int paginateLineShowType = MULTIPLE_PAGINATE_LINE; // 如何绘制分页线 private Color paginationLineColor = Color.RED; // line color of paper private boolean isShowVerticalFrozenLine = true; @@ -1432,8 +1435,11 @@ public class Grid extends BaseGridComponent { this.tooltipLocation.setLocation(x, y); } -// @Override -// public void requestFocus() { -// super.requestFocus(); -// } + public int getPaginateLineShowType() { + return paginateLineShowType; + } + + public void setPaginateLineShowType(int paginateLineShowType) { + this.paginateLineShowType = paginateLineShowType; + } } \ No newline at end of file diff --git a/designer/src/com/fr/grid/GridUI.java b/designer/src/com/fr/grid/GridUI.java index d904b7c138..5a38c07899 100644 --- a/designer/src/com/fr/grid/GridUI.java +++ b/designer/src/com/fr/grid/GridUI.java @@ -237,8 +237,10 @@ public class GridUI extends ComponentUI { // 分页线 paginateLineList.clear(); + boolean isShowVerticalPaginateLine = grid.isShowPaginateLine() && grid.getPaginateLineShowType() == Grid.MULTIPLE_PAGINATE_LINE; + new DrawVerticalLineHelper(grid.getVerticalBeginValue(), verticalEndValue, - grid.isShowGridLine(), grid.isShowPaginateLine(), rowHeightList, paperPaintHeight, + grid.isShowGridLine(), isShowVerticalPaginateLine, rowHeightList, paperPaintHeight, paginateLineList, realWidth, resolution).iterateStart2End(g2d); new DrawHorizontalLineHelper(grid.getHorizontalBeginValue(), horizontalEndValue, @@ -607,8 +609,12 @@ public class GridUI extends ComponentUI { //g2d.setXORMode(Utils.getXORColor(grid.getPaginationLineColor())); GraphHelper.setStroke(g2d, GraphHelper.getStroke(Constants.LINE_DASH_DOT)); - for (int i = 0, len = paginateLineList.size(); i < len; i++) { - g2d.draw((Shape) paginateLineList.get(i)); + if (grid.getPaginateLineShowType() == Grid.SINGLE_HORIZONTAL_PAGINATE_LINE) { + g2d.draw((Shape) paginateLineList.get(0)); + } else { + for (int i = 0, len = paginateLineList.size(); i < len; i++) { + g2d.draw((Shape) paginateLineList.get(i)); + } } g2d.setPaintMode();