멀티라인그리드 » Api

getprinthtml

Description

그리드 인쇄용 HTML 문자열 정보 오브젝트를 리턴한다.

Parameters

Parameters Type Description
objOption INSTANCE 옵션 정보 오브젝트
objCssClass INSTANCE CSS 클래스 정보 오브젝트
arrColumnIndex Array 컬럼 인덱스 배열

Return Value

Type Description
INSTANCE 그리드 인쇄용 HTML 오브젝트 정보

Remark

리턴값 오브젝트 정보는 아래와 같다.

html_info = {
    html_grid_start: '',
    html_colgroup_arr: [],
    html_thead_arr: [],
    html_tbody_arr: [],
    html_grid_end: ''
};

objOption 파라미터는 출력용 옵션 정보 오브젝트를 지정한다. 출력용 옵션 정보 오브젝트 구조는 아래와 같다.

objOption = {
    // [옵션] arrColumnIndex 파라미터가 null인 경우, 숨김열 포함 여부 (true(기본값)/false)
    is_include_hiddencolumn: true, 
    // [옵션] 통계행 포함 여부 (true(기본값)/false)
    is_include_statrow: true, 
    // [옵션] 통계열 포함 여부 (true(기본값)/false)
    is_include_statcolumn: true, 
    // [옵션] 숨김행 포함 여부 (true(기본값)/false)
    is_include_hiddenrow: true, 
    // [옵션] 콜백 함수 이름 (콜백 함수 소스는 샘플 소스 참조)
    callback_func: "",
    // [옵션] 순번 컬럼 포함 여부 (true/false(기본값))
    line_number: true/false
};

objCssClass 파라미터는 HTML 생성시 사용한 CSS 정보 오브젝트를 지정한다. null 및 파라미터 미 지정시 사용되는 CSS 정보 오브젝트 구조 및 기본값은 아래와 같다.

objCssClass = {
    table: 'xf_data',
    thead: 'xf_data_head',
    thread_tr: 'xf_data_head_tr',
    th_linenumber: 'xf_th_linenumber',
    th_column: 'xf_th_column',
    tbody: 'xf_data_body',
    tbody_tr: 'xf_data_body_tr',
    td_linenumber: 'xf_td_linenumber',
    td_column: 'xf_td_column'
};

column_index_arr 파라미터는 인쇄대상 컬럼 인덱스 배열값을 지정한다. null 지정시 모든 컬럼을 처리한다.

Example

function btn_downloadexcel_on_mouseup(objInst) { var html_info, report_option, arr_line; // 리포트 출력 옵션 report_option = { line_number: true // 순번 컬럼 포함 여부 }; arr_line = []; arr_line.push('<!doctype html>'); arr_line.push('<html lang="ko">'); arr_line.push('<head>'); arr_line.push('<meta charset="utf-8">'); arr_line.push('<meta name="viewport" content="width=device-width, initial-scale=1">'); arr_line.push('<meta http-equiv="cache-control" content="no-cache">'); arr_line.push('<meta http-equiv="pragma" content="no-cache">'); arr_line.push('<link rel="stylesheet" type="text/css" href="./xf5/html/report.css"/>'); arr_line.push('<link rel="shortcut icon" href="./xframe5.ico"/>'); arr_line.push('<style>'); arr_line.push('</style>'); arr_line.push('<script type="text/javascript">'); arr_line.push('/* 인쇄 버튼 이벤트 */'); arr_line.push('function onprintclick() { window.print(); }'); arr_line.push('/* 닫기 버튼 이벤트 */'); arr_line.push('function opcloseclick() {'); arr_line.push(' if (window.confirm("닫으시겠습니까?")) { window.close(); }'); arr_line.push('}'); arr_line.push('/* BODY onload 이벤트 */'); arr_line.push('function onbodyload() {'); arr_line.push('}'); arr_line.push('</script>'); arr_line.push('<title>xFrame5 Report</title>'); arr_line.push('</head>'); arr_line.push('<body oncontextmenu="return false;" onload="onbodyload();">'); arr_line.push('<div class="xf_btnbox">'); arr_line.push(' <button class="xf_print no_print" onclick="onprintclick()">인쇄</button>'); arr_line.push(' <button class="xf_close no_print" onclick="opcloseclick()">닫기</button>'); arr_line.push('</div>'); arr_line.push('<div class="xf_report">'); html_info = grd_data_1.getprinthtml(report_option, null, null); // 그리드 내용 HTML 표시 시작 arr_line.push(html_info.html_grid_start); arr_line.push(html_info.html_colgroup_arr.join('')); arr_line.push(html_info.html_thead_arr.join('')); arr_line.push(html_info.html_tbody_arr.join('')); arr_line.push(html_info.html_grid_end); // 웹브라우저 컴포넌트 내부 HTML 내용 설정, // 페이지 로드 완료시, on_pageload 이벤트 발생함 web.sethtml(arr_line.join('')); } /** * 그리드 getprinthtml API 콜백 함수 * @param objScreen 화면 인스턴스 * @param objGrid 그리드 인스턴스 * @param nRowKind 행 구분 (1:헤더행, 5:데이터행, 4:통계행) * @param nColumnKind 컬럼 구분 (3:데이터열, 4:통계열) * @param nRow 행 인덱스 * @param nSubRow 서브행 인덱스 * @param nColumn 컬럼 인덱스 * @param strItemText 아이템 인쇄용 문자열 * @returns 인쇄용 문자열 */ function CallbackGridPrint(objScreen, objGrid, nRowKind, nColumnKind, nRow, nSubRow, nColumn, strItemText) { return strItemText; }

Viewer Ver.

22.7.20.1

Update Date

20240102