ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • jqGrid 위키문서 정리 - 플러그인 특징 및 설치
    개발/Javascript & jQuery 2018. 4. 23. 11:39

    준비 중인 프로젝트에서 jqGrid를 사용하는데 내가 유일한 초기 투입 개발자니까 미리 준비하면 좋겠다고 하셔서 공부를 시작했다.

    요기에 정리되어 있는 공식문서를 공부할 겸 따로 정리해본당 → http://www.trirand.com/jqgridwiki/doku.php?id=wiki:features




    1.   특징

    1)    기본 그리드

           UI테마에 기초한 CSS 사용 : jQueryUI의 테마를 활용하여 그리드를 표현

    → jQueryUI 테마 다운로드 필요

           페이징 : 페이징 기능을 사용하여 데이터 출력 가능하며, 한 페이지에 총 몇 행을 출력할지는 개발자가 지정할 수 있음

           사용자가 컬럼 너비 조정 가능

           데이터 정렬 : 사용자가 헤더를 클릭하여 데이터 정렬 가능. 개발자가 특정 타입을 기준으로 데이터 정렬하도록 지정 가능

           이벤트 핸들러 & 유저 API : 다양한 이벤트 핸들러와 메소드 제공

           스크롤 시 자동 데이터 로딩 : 페이징 기능 없이 수직 스크롤바만을 써서 데이터 로딩 가능

           로컬 데이터 사용 가능 : Array로 정의한 로컬 데이터 역시 jqGrid로 출력 가능

           ASP, .net, PHP, perl 등의 서버측 솔루션 없이 자연스러운 통합 가능

           크로스 브라우저 지원 (IE 6.0+, 파이어폭스 2.0+, 사파리 3.0+, 오페라 9.2+, 크롬)

           다국어 지원(i18n) : 20개국어 이상 지원

           XML, JSON, Array 및 사용자 정의 데이터 타입을 데이터 소스로 사용 가능

           서브 그리드 출력 기능 지원

     

    2)    Formatting

           Formatter를 이용하여 셀에 출력되는 컨텐츠의 표시 형식 지정 가능

           Formatter에 사전정의된 형식 : 정수, 실수, 날짜, 통화, 링크, 체크박스 등

           개발자가 직접 커스터마이징한 표시형식 사용 가능

           다국어 지원

     

    3)    Inline editing

           특정 행에 위치한 셀의 내용 편집 가능

           Text, text area, 체크박스, 셀렉트 박스, 이미지, 버튼 타입 지원 가능

           클라이언트 측에서 입력 데이터의 validation 가능

     

    4)    Cell editing

           각각의 셀 단위로 편집 가능

           Text, text area, 체크박스, 셀렉트 박스, 이미지, 버튼 타입 지원 가능

           클라이언트 측에서 입력 데이터의 validation 가능

           Tab, shift tab , 오른쪽·왼쪽·위·아래 방향키를 사용하여 셀 간 이동

           유연한 이벤트 처리

     

    5)    Form editing

           각각의 셀 단위로 편집 가능

           Text, text area, 체크박스, 셀렉트 박스, 이미지, 버튼 타입 지원 가능

           클라이언트 측에서 입력 데이터의 validation 가능

           위·아래 방향키를 사용하여 셀 간 이동

           유연한 이벤트 처리

           폼 생성부터 종료까지 전반적으로 컨트롤 가능

     

    6)    검색 및 필터링

           그리드 내 컬럼을 데이터 검색에 활용할 수 있음

           검색필드는 그리드 상단 또는 하단 혹은 그리드 내부에 삽입 가능

           싱글 필드 검색 가능

           툴바를 활용한 검색(헤더 하단에 검색필드 삽입 가능)

           Complex form 검색

           사용자 정의 기준을 활용한 고급검색 가능

     

    7)    트리 그리드 (계층형 그리드)

           Nested set 모델 및 Adjacency 모델 지원

           Easy configuration

           트리 노드 자동 로딩

           손쉬운 활용을 위해 다양한 API 제공

     

    8)    Import / Export

           전체 그리드 configuration을 다른 파일 형식으로 import / export 가능

           Xml, json, xmlstring, jsonstring 형태 지원

           Configuration 및 데이터를 한번에 import 가능

     

     

    2.   Documentation

    1)    jqGrid 설치

    (1)  설치환경 요구사항

    -       모던 웹 브라우저 (파이어폭스, 사파리, 크롬, 오페라, IE) 필요

    jQuery 라이브러리가 지원하는 브라우저라면 어떤 것이든 jqGrid 사용 가능

    -       jQuery 1.3 이상 : http://www.jquery.com

    -       jQuery UI theme : http://jqueryui.com/themeroller/

    -       jqGrid 플러그인 : http://www.trirand.com/blog/?page_id=6

    로컬 데이터만을 활용하여 그리드 출력 시에는 array 형태, xml 데이터 파일 또는 JSON 파일이 필요하나, jqGrid의 주요 목적이 웹을 통해 동적으로 데이터를 활용하고자 함이므로 서버 통신을 위해서는 아래와 같이 준비해야 함

    -       웹서버 : IIS, Apache, Tomcat

    -       데이터베이스 : MySQL, PostgreSQL, Oracle, MSSQL

    -       서버 측 스크립트 언어 : PHP, ASP

     

    (2)  jqGrid 다운로드

    -       다운로드 빌더 (http://www.trirand.com/blog/?page_id=6) 에서 jqGrid 중 필요한 component만 선택하여 다운로드 가능

     

    (3)  기본 설치

    ① jqGrid 압축파일과 jQuery UI Theme 압축파일의 압축을 해제

    ② jqGrid를 설치할 프로젝트 폴더 내에 js 폴더와 css 폴더를 생성

    다운로드한 jqGrid 패키지 중 css 폴더 내의 ui-jqgrid.css 파일을 새로 생성한 css 폴더로 카피

    ④ jqGrid 패키지 중 js 폴더 안에 있는 모든 파일을 새로 생성한 js 폴더로 카피

    다운로드한 jQuery UI Theme 패키지의 모든 파일을 새로 생성한 css 폴더로 카피

    ⑥ html 파일에 css 파일 및 js 파일 import 선언


    최종 폴더 구조



    ⇒ html 파일 헤더 구조

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

     

        <title>jqGrid Test Project</title>

     

        <link rel="stylesheet" type="text/css" media="screen" href="../gridTest/css/jquery-ui.css" />

        <link rel="stylesheet" type="text/css" media="screen" href="../gridTest/css/ui.jqgrid.css" />

       

        <script src="http://code.jquery.com/jquery-3.3.1.min.js"></script>

    <script src="../gridTest/js/i18n/grid.locale-kr.js" type="text/javascript"></script>

        <script src="../gridTest/js/jquery.jqGrid.min.js" type="text/javascript"></script>

    </head>

    grid.locale-kr.js 파일을 jqGrid.js 파일보다 먼저 선언해야 함

    jQuery UI Theme 이 제각기 다른 폰트 사이즈를 가지고 있으므로 스타일 태그를 추가하여 폰트 사이즈를 통일하고 시작하는 것을 권장함


    ⇒ 최종 헤더 파일 구조

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

     

        <title>jqGrid Test Project</title>

     

        <link rel="stylesheet" type="text/css" media="screen" href="../gridTest/css/jquery-ui.css" />

        <link rel="stylesheet" type="text/css" media="screen" href="../gridTest/css/ui.jqgrid.css" />

       

        <style>

            html, body {

                margin : 0;

                padding : 0;

                font-size : 75%;

            }

        </style>

     

        <script src="http://code.jquery.com/jquery-3.3.1.min.js"></script>

    <script src="../gridTest/js/i18n/grid.locale-kr.js" type="text/javascript"></script>

        <script src="../gridTest/js/jquery.jqGrid.js" type="text/javascript"></script>

    </head>

     


    이렇게 하면 세팅은 끝!

    댓글

Designed by Tistory.