템플릿 렌더러는 HTML 그대로를 출력하는 칼럼 렌더러입니다. 즉, HTML 의 innerHTML 속성으로 처리됩니다.
데이터 값이 HTML 인 경우 그대로 출력하며 labelFunction 으로 HTML 스트링을 작성할 수 있습니다.
HTML 템플릿은 행 높이를 벗어날 수 없습니다. 예를 들어 br 태그로 개행을 한다해도 지정된 행 높이를 벗어 날 수 없습니다.(그리드의 rowHeight 속성으로 높이를 크게 하십시오.)
■ 단점 : 사용자가 HTML 템플릿을 작성하였기 때문에 엑셀 저장, 필터링, 정렬 등에 제약을 받습니다. (dataField 값 기준으로 처리됩니다.)
칼럼의 renderer 속성의 type 으로만 설정 가능합니다.
아래는 설정 예제 입니다.myColumnLayout.push({ dataField : "my_template", headerText : "Template", width : 120, renderer : { type : "TemplateRenderer", aliasFunction : function (rowIndex, columnIndex, value, headerText, item ) { // 엑셀, PDF 등 내보내기 시 값 가공 함수 return value; } }, labelFunction : function (rowIndex, columnIndex, value, headerText, item ) { //HTML 템플릿 작성return ' } });' + value + '';
Name | Description |
---|---|
aliasFunction
| Type : Function TemplateRenderer 로 정의된 칼럼에서 엑셀, PDF 내보내기 할 때 재가공하여 값을 출력하고자 하는 경우 이 속성을 설정하십시오. aliasFunction 을 정의 하지 않은 경우, 기본값은 dataField 값 기준입니다. aliasFunction 은 함수를 지정해야 하며 함수 형태는 다음과 같습니다.
aliasFunction : function(rowIndex, columnIndex, value, headerText, item, dataField) { var myString = ""; // 로직 처리 // 여기서 value 를 원하는 형태로 재가공 또는 포매팅하여 반환하십시오. return myString; } 함수의 반환값이 곧 엑셀, PDF 등 내보내기 값입니다. 기본값(default) :null; . |