Number Editor


Number 편집기 관련 설정을 할 수 있다.

* 영상은 자동 재생되며, 영상화면 왼쪽 윗부분에 재생목록을 클릭해서 원하는 목록을 재생 할 수 있습니다.



  - Options
  - Positive Only : 체크 시 양수만 입력 할 수 있다.
  - Max Digits : Number의 최대 자리수를 정할 수 있다.
  - Min Value : Number의 최솟값이다.
  - Max Value : Number의 최댓값이다.
 소스보기
private GridColumn[] m_columns = new GridColumn[]{ DataColumn.create("growth", "growth", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(75); column.getStyles() .setFill(Fill.create("#080088ff")) .setTextAlign(TextAlign.RIGHT); column.getHeader().setText("증가율(%)"); column.getHeader().setSubText("positiveOnly"); column.getHeader().getSubStyles() .setColor(Fill.create("#800")); column.setEditor( new NumberCellEditor() .setPositiveOnly(true) .setEmptyValue(0) ); } }), DataColumn.create("growth2", "growth", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(75); column.getStyles() .setFill(Fill.create("#0800ff88")) .setTextAlign(TextAlign.RIGHT); column.getHeader().setText("증가율 2"); column.getHeader().setSubText("maxDigits=1"); column.getHeader().getSubStyles() .setColor(Fill.create("#800")); column.setEditor( new NumberCellEditor() .setMaxDigits(1) .setEmptyValue(0) ); } }), DataColumn.create("revenue", "revenue", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(90); column.getStyles() .setFill(Fill.create("#080088ff")) .setNumberFormat("#,##0") .setTextAlign(TextAlign.RIGHT); column.getHeader().setText("순익(million$)"); column.getHeader().setSubText("integerOnly"); column.getHeader().getSubStyles() .setColor(Fill.create("#800")); column.getFooter().getStyles() .setNumberFormat("#,##0"); column.getFooter().setExpression("avg"); column.getFooter().getStyles().setSuffix("$"); column.setEditor( new NumberCellEditor() .setMaxDigits(0) ); } }), DataColumn.create("revenue2", "revenue", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(90); column.getStyles() .setFill(Fill.create("#0800ff88")) .setNumberFormat("#,##0") .setTextAlign(TextAlign.RIGHT); column.getHeader().setText("순익 2"); column.getHeader().setSubText("min=100000"); column.getHeader().getSubStyles() .setColor(Fill.create("#800")); column.setEditor( new NumberCellEditor() .setMinValue(100000) ); } }), DataColumn.create("employees", "employees", new ColumnCallback() { @Override public void onCreate(DataColumn column) { column.setWidth(90); column.getStyles() .setFill(Fill.create("#080088ff")) .setNumberFormat("#,##0") .setTextAlign(TextAlign.RIGHT); column.getHeader().setText("종업원수(명)"); column.getHeader().setSubText("max=800000"); column.getHeader().getSubStyles() .setColor(Fill.create("#800")); column.setEditor( new NumberCellEditor() .setMaxValue(800000) ); } }) };
public void run(Context ctx, final GridView grid) { DataColumn column = grid.focusedDataColumn(); final NumberCellEditor editor = column != null ? (NumberCellEditor)column.getEditor() : null; if (editor == null) { Utils.alert(ctx, "Number 편집기가 설정된 컬럼 셀을 먼저 선택하세요."); return; } formSettings.setValue("positiveOnly", editor.isPositiveOnly()); formSettings.setValue("maxDigits", editor.getMaxDigits()); formSettings.setValue("minValue", editor.getMinValue()); formSettings.setValue("maxValue", editor.getMaxValue()); new FormDialog2().show(grid.getContext(), formSettings, new FormDialog2.OnCloseListener() { @Override public void onClose(Context ctx, Form form) { boolean positiveOnly = form.getBool("positiveOnly"); int maxDigits = form.getInt("maxDigits"); double minValue = form.getDouble("minValue", Double.NaN); double maxValue = form.getDouble("maxValue", Double.NaN); editor.setPositiveOnly(positiveOnly); editor.setMaxDigits(maxDigits); editor.setMinValue(minValue); editor.setMaxValue(maxValue); } }); }