|
|
@ -1,15 +1,13 @@ |
|
|
|
package com.fr.design.present; |
|
|
|
package com.fr.design.present; |
|
|
|
|
|
|
|
|
|
|
|
import com.fr.base.FRContext; |
|
|
|
import com.fr.base.FRContext; |
|
|
|
import com.fr.base.Style; |
|
|
|
import com.fr.design.dialog.BasicDialog; |
|
|
|
|
|
|
|
import com.fr.design.dialog.BasicPane; |
|
|
|
|
|
|
|
import com.fr.design.dialog.DialogActionAdapter; |
|
|
|
import com.fr.design.layout.FRGUIPaneFactory; |
|
|
|
import com.fr.design.layout.FRGUIPaneFactory; |
|
|
|
import com.fr.design.mainframe.DesignerContext; |
|
|
|
import com.fr.design.mainframe.DesignerContext; |
|
|
|
import com.fr.design.mainframe.ElementCasePane; |
|
|
|
import com.fr.design.mainframe.ElementCasePane; |
|
|
|
import com.fr.design.widget.WidgetPane; |
|
|
|
import com.fr.design.widget.WidgetPane; |
|
|
|
import com.fr.design.dialog.BasicDialog; |
|
|
|
|
|
|
|
import com.fr.design.dialog.BasicPane; |
|
|
|
|
|
|
|
import com.fr.design.dialog.DialogActionAdapter; |
|
|
|
|
|
|
|
import com.fr.form.ui.DateEditor; |
|
|
|
|
|
|
|
import com.fr.form.ui.NoneWidget; |
|
|
|
import com.fr.form.ui.NoneWidget; |
|
|
|
import com.fr.form.ui.Widget; |
|
|
|
import com.fr.form.ui.Widget; |
|
|
|
import com.fr.general.FRLogger; |
|
|
|
import com.fr.general.FRLogger; |
|
|
@ -22,8 +20,6 @@ import com.fr.report.cell.TemplateCellElement; |
|
|
|
import com.fr.report.elementcase.TemplateElementCase; |
|
|
|
import com.fr.report.elementcase.TemplateElementCase; |
|
|
|
|
|
|
|
|
|
|
|
import java.awt.*; |
|
|
|
import java.awt.*; |
|
|
|
import java.text.Format; |
|
|
|
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class CellWriteAttrPane extends BasicPane { |
|
|
|
public class CellWriteAttrPane extends BasicPane { |
|
|
|
|
|
|
|
|
|
|
@ -78,22 +74,6 @@ public class CellWriteAttrPane extends BasicPane { |
|
|
|
|
|
|
|
|
|
|
|
Widget cellWidget = cellElement.getWidget(); |
|
|
|
Widget cellWidget = cellElement.getWidget(); |
|
|
|
|
|
|
|
|
|
|
|
if (cellWidget != null && cellWidget instanceof DateEditor) { |
|
|
|
|
|
|
|
// p:日期的格式需要设置到单元格子里面.
|
|
|
|
|
|
|
|
DateEditor dateCellEditorDef = (DateEditor) cellWidget; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// p:需要把下拉的编辑器,日期格式,都放到CellElement的Style里面
|
|
|
|
|
|
|
|
// 这个地方很方便用户,是alex提出的.
|
|
|
|
|
|
|
|
// p:日期的格式需要设置到单元格子里面.
|
|
|
|
|
|
|
|
Style style = cellElement.getStyle(); |
|
|
|
|
|
|
|
if (style != null) { |
|
|
|
|
|
|
|
Format format = style.getFormat(); |
|
|
|
|
|
|
|
if (format != null && format instanceof SimpleDateFormat) { |
|
|
|
|
|
|
|
SimpleDateFormat simpleDateFormat = (SimpleDateFormat) format; |
|
|
|
|
|
|
|
dateCellEditorDef.setFormatText(simpleDateFormat.toPattern()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 这里进行克隆的原因是为了保留原始的Widget以便和新的Widget做比较来判断是否发生了改变
|
|
|
|
// 这里进行克隆的原因是为了保留原始的Widget以便和新的Widget做比较来判断是否发生了改变
|
|
|
|
if (cellWidget != null) { |
|
|
|
if (cellWidget != null) { |
|
|
|
try { |
|
|
|
try { |
|
|
@ -111,19 +91,6 @@ public class CellWriteAttrPane extends BasicPane { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Widget cellWidget = this.cellEditorDefPane.update(); |
|
|
|
Widget cellWidget = this.cellEditorDefPane.update(); |
|
|
|
// p:需要把下拉的编辑器,日期格式,都放到CellElement的Style里面
|
|
|
|
|
|
|
|
if (cellWidget instanceof DateEditor) { |
|
|
|
|
|
|
|
// p:日期的格式需要设置到单元格子里面.
|
|
|
|
|
|
|
|
DateEditor dateCellEditorDef = (DateEditor) cellWidget; |
|
|
|
|
|
|
|
String formatText = dateCellEditorDef.getFormatText(); |
|
|
|
|
|
|
|
if (formatText != null) { |
|
|
|
|
|
|
|
Style style = cellElement.getStyle(); |
|
|
|
|
|
|
|
if (style != null) { |
|
|
|
|
|
|
|
cellElement.setStyle(style.deriveFormat(new SimpleDateFormat(formatText))); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// p:最后把这个cellEditorDef设置到CellGUIAttr.
|
|
|
|
// p:最后把这个cellEditorDef设置到CellGUIAttr.
|
|
|
|
if (cellWidget instanceof NoneWidget) { |
|
|
|
if (cellWidget instanceof NoneWidget) { |
|
|
|
cellElement.setWidget(null); |
|
|
|
cellElement.setWidget(null); |
|
|
|