SMART datagrid v1.4 > Classes

Back  Forward

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
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
행별 합계 표시