이 화면은 https://barcode-coder.com/en/ 사이트에서 제공하는 라이브러리를 이용한 바코드 생성 샘플 화면이다.
템플릿이 저장된 디렉토리의 jquery-barcode.min.js 파일(Version : 2.2)을 활용하세요.
라이브러리에 대한 자셍한 설명은 https://barcode-coder.com/en/ 사이트를 참조하세요.
function b1_on_mouseup(objInst) { // 바코드 생성 라이브러리 로드 (프로젝트 환경에 따라 경로를 달라질 수 있음) // 템플릿이 저장된 디렉토리의 jquery-barcode.min.js 파일을 활용하세요. // screen.loadjs("./project/terminal/ext/lib/jquery-barcode.min.js"); screen.loadjs("./ext/lib/jquery-barcode.min.js"); } function btn_generatebarcode_on_mouseup(objInst) { var barcode_data, div_jdom, i, row_count; // DIV 오브젝트에 해당하는 jQuery 오브젝트를 구함 div_jdom = this.div_barcode.getjdom(); row_count = this.grd.getrowcount(); for (i = 0; i < row_count; i++) { // 바코드 데이터를 구해 바코드 생성 API 호출 (jquery-barcode.min.js 라이브러리 기능) barcode_data = this.grd.getitemtext(i, 0); div_jdom.barcode(barcode_data, "code128", { barHeight:30 }); // 바코드 생성 내용을 DIV로 감싸서 그리드 아이템에 값 설정 this.grd.setitemtext(i, 1, '<div data-type="barcode" style="display:block;">' + this.div_barcode.getinnerhtml() + '</div>', false); } // 그리드 Refresh this.grd.refresh(); // 바코드 생성 API 호출 (jquery-barcode.min.js 라이브러리 기능) div_jdom.barcode("1234567890128", "code128", { barHeight:30 }); } function btn_printbarcodegrid_on_mouseup(objInst) { var html_tbody, arr_line; arr_line = []; ///////////////////////////////////////////////////////////////////////////////// // 인쇄용 HTML 기본 상단부 시작 ///////////////////////////////////////////////////////////////////////////////// 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('<body oncontextmenu="return false;">'); arr_line.push('<div class="xf_report">'); var html_info = this.grd.getprinthtml({ page_break: true, // 여러개 그리드 출력시, 그리드별 페이지 분할 여부 line_number: true // 순번 컬럼 포함 여부 }); // 그리드 내용 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('')); // barcode 출력 부분을 inline-block 형태로 변경 // arr_line.push(html_info.html_tbody_arr.join('')); html_tbody = html_info.html_tbody_arr.join(''); html_tbody = html_tbody.replaceAll('data-type="barcode" style="display:block;', 'data-type="barcode" style="display:inline-block;margin:4px;'); arr_line.push(html_tbody); arr_line.push(html_info.html_grid_end); arr_line.push(html_info.html_grid_end); // 그리드 내용 HTML 표시 끝 ///////////////////////////////////////////////////////////////////////////////// // 인쇄용 HTML 기본 하단부 시작 ///////////////////////////////////////////////////////////////////////////////// arr_line.push('</div>'); arr_line.push('</body>'); arr_line.push('</html>'); ///////////////////////////////////////////////////////////////////////////////// // 인쇄용 HTML 기본 하단부 끝 ///////////////////////////////////////////////////////////////////////////////// // 웹브라우저 컴포넌트 내부 HTML 내용 설정, 페이지 로드 완료시, on_pageload 이벤트 발생함 this.web.sethtml(arr_line.join('')); } function btn_print_on_mouseup(objInst) { var browser_window; browser_window = this.web.getbrowserwindow(); browser_window.print(); }