컨디션 렌더러는 칼럼 셀의 에디터를 동적으로 지정할 수 있습니다.
일반적으로 하나의 칼럼에는 동일한 에디터가 출력됩니다. 즉, 달력(CalendarRenderer) 를 설정하면 해당 칼럼의 모든 셀은 수정 시 달력이 출력됩니다.
그러나 컨디션 렌더러로 하나의 칼럼의 에디터를 동적으로 표현 할 수 있습니다.
콤보박스 렌더러는 칼럼 레이아웃을 정의할 때 개별 칼럼의 editRenderer 속성 값인 Object 형태로 선언되어야 합니다.
칼럼의 editRenderer 속성의 type 으로만 설정 가능합니다.
아래는 설정 예제 입니다.
// 조건부 에디트렌더러 출력할 editRenderer 정의 1
const myEditRenderer = {
type : "DropDownListRenderer",
list : posList
};
// 조건부 에디트렌더러 출력할 editRenderer 정의 2
const myEditRenderer2 = {
type : "CalendarRenderer",
showEditorBtnOver : true, // 마우스 오버 시 에디터버턴 출력 여부
onlyCalendar : true, // 사용자 입력 불가, 즉 달력으로만 날짜입력 (기본값 : true)
showExtraDays : true // 지난 달, 다음 달 여분의 날짜(days) 출력
};
const columnLayout = [{
dataField : "name",
headerText : "Name",
width : 140
}, {
dataField : "data",
headerText : "Data",
width : 120,
editRenderer : { // 조건에 따라 editRenderer 사용하기.
type : "ConditionRenderer",
conditionFunction : function(rowIndex, columnIndex, value, item, dataField) {
// 특정 조건에 따라 미리 정의한 editRenderer 반환.
if(item.myCode === 1) {
return myEditRenderer;
} else if(item.myCode === 2) {
return myEditRenderer2;
}
}
}
}];
Name | Description |
---|---|
conditionFunction
| Type : Function 셀 편집 시 표현할 에디터를 동적으로 지정해주는 함수입니다. ConditionRenderer 사용 시 이 함수는 필수 정의해야 합니다. conditionFunction 은 함수를 지정해야 하며 함수 형태는 다음과 같습니다.
이 함수의 반환값이 곧 실제 적용되는 에디트렌더러가 됩니다. |