diff --git a/designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java b/designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java index 6d1f2ef0a0..5dd21a289d 100644 --- a/designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java +++ b/designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java @@ -13,6 +13,7 @@ import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.DesignerContext; import com.fr.general.SiteCenter; +import com.fr.locale.InterProviderFactory; import com.fr.log.FineLoggerFactory; import com.fr.report.core.ReportUtils; import com.fr.report.stable.LayerReportAttr; @@ -54,6 +55,7 @@ public class ReportEnginePane extends BasicBeanPane { private JLayeredPane engineSettingPane; private UICheckBox clientPaging; private UICheckBox pageQueryBox; + private UICheckBox cursorPage; private JPanel outPagingEngineSelectPane; private JPanel outEngineXSettingPane; private JPanel pageQueryPane; @@ -123,6 +125,14 @@ public class ReportEnginePane extends BasicBeanPane { private void createEngineXSettingPane(){ outEngineXSettingPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_New_Engine")); outEngineXSettingPane.setBounds(0, 0, 570, 240); + JPanel cursorPagePanel = FRGUIPaneFactory.createVerticalFlowLayout_S_Pane(true); + cursorPage = new UICheckBox(InterProviderFactory.getProvider().getLocText("Fine-Plugin_Engine_Calculate_Prefer_Cursor_Pagination")); + UILabel tipLabel = new UILabel(InterProviderFactory.getProvider().getLocText("Fine-Plugin_Engine_Calculate_Prefer_SQL_Pagination_Tip")); + tipLabel.setForeground(Color.GRAY); + cursorPagePanel.add(cursorPage); + cursorPagePanel.add(tipLabel); + + outEngineXSettingPane.add(cursorPagePanel); } private void createLineEngineSettingPane(){ @@ -242,6 +252,7 @@ public class ReportEnginePane extends BasicBeanPane { engineSettingPane.moveToFront(outEngineXSettingPane); outEngineXSettingPane.setVisible(true); outLineEngineSettingPane.setVisible(false); + cursorPage.setSelected(!ob.isSqlPage()); }else { engineSettingPane.moveToFront(outLineEngineSettingPane); outEngineXSettingPane.setVisible(false); @@ -261,6 +272,7 @@ public class ReportEnginePane extends BasicBeanPane { public LayerReportAttr updateBean() { //这里注意一下怎么更新的,后续可能存在判断为空的调用,从而对老引擎造成影响。 LayerReportAttr attr = new LayerReportAttr(); + attr.setSqlPage(!cursorPage.isSelected()); attr.setPageQuery(pageQueryBox.isSelected()); attr.setCountPerPage(Math.min(500, (countPerPageEditor.getValue()).intValue())); attr.setClientPaging(clientPaging.isSelected());