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