SMART datagrid v1.4 > Classes
DataLudi.CalculatedColumn class
데이터셋의 값이 아니라 필요한 시점에 수식이나 콜백 함수로 지정된 수식으로 결정되는 값을 표시하는 컬럼.
컬럼의 자료형은 valueType 속성으로 지정한다. 기본형은 NUMBER이다. 이 컬럼셀들의 값은 기본적으로 저장되지 않고, 표시되는 순간 valueExpression 속성으로 지정된 수식 결과나, valueCallback 함수의 결과 값으로 결정되는데, cached 속성을 true로 설정하면 한 번 계산한 값을 저장해서 다시 표시할 때 사용하게 된다. 하지만 이 경우에도 값이 저장되어 있다고 전제해서는 안된다.
설정 정보를 통해 컬럼을 생성할 때 "type"을 "calced"로 지정한다.
- Base Classes
- DerivedColumn > ValueColumn > GridColumn > DLBase
- Properties
- cached
- calcBounds
- calcRange
- nanText
- nanValue
- valueCallback
- valueExpression
- valueType
- Inherited Properties
- ValueColumn.blankWhenCopy
- GridColumn.checked
- ValueColumn.copyCallback
- ValueColumn.cursor
- GridColumn.dataRoot
- ValueColumn.displayCallback
- GridColumn.displayIndex
- GridColumn.displayText
- GridColumn.distance
- DerivedColumn.editable
- GridColumn.fillHeight
- GridColumn.fixed
- GridColumn.footer
- GridColumn.grid
- GridColumn.group
- GridColumn.groupFooter
- GridColumn.header
- GridColumn.height
- ValueColumn.ignoreDefaultDynamicStyles
- ValueColumn.ignoreRowDynamicStyles
- GridColumn.index
- GridColumn.isDataRoot
- GridColumn.isFixed
- GridColumn.isRoot
- ValueColumn.mergeCallback
- ValueColumn.mergeExpression
- ValueColumn.mergeValueCallback
- ValueColumn.mergeValueExpression
- GridColumn.movable
- GridColumn.name
- GridColumn.parent
- ValueColumn.pasteCallback
- ValueColumn.renderer
- GridColumn.resizable
- GridColumn.root
- ValueColumn.styleCallback
- GridColumn.styleName
- GridColumn.styles
- ValueColumn.summaryCallback
- GridColumn.tag
- ValueColumn.tooltipCallback
- GridColumn.visible
- GridColumn.width
- Inherited Methods
- DLBase.assign
- DerivedColumn.ctor
- ValueColumn.ctor
- GridColumn.ctor
- DLBase.getProperties
- DLBase.getProperty
- DLBase.setProperties
- DLBase.setProperty
- DLBase.toggle
- Note
- 이 컬럼은 filtering, sorting, grouping, summarizing 할 수 없다.
- 이 컬럼셀을 병합할 수 없고, CellStyle을 지정할 수 없다.
Code -1
grid.setColumns([{
name: "colAmount",
type: "calced",
valueType: DataLudi.ValueType.NUMBER, // 기본값
valueExpression: "unit_price * quantity",
// 혹은 callback
valueCallback: function (column, row) {
return row.getValue('unit_price') * row.getValue('quantity');
},
styles: {
"numberFormat": "#,##.00"
}
}, {
...
}]);
- See Also
- DataSet
- LabelColumn
- Examples
- 행별 합계 표시