본문 바로가기

jQuery/w2ui

[w2ui] 그리드 검색창(Grid) 검색창에 버튼 기능 추가하기.

반응형

■ 그리드 검색창(Grid) 검색창에 버튼 기능 추가하기.



01. 그리드 상단 검색창에 버튼을 추가로 올려보자. 코드는 아래와 같다.

 w2ui_grid_toolbar.php

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>W2UI</title>
    <link rel="stylesheet" type="text/css" href="./css/w2ui-1.4.3.css"/>
    <script type="text/javascript" src="./js/jquery-2.1.0.min.js"></script>
    <script type="text/javascript" src="./js/w2ui-1.4.3.js"></script>
</head>
<body>
<div id="grid" style="width:100%;height:350px;"></div>
<script type="text/javascript">
jQuery(document).ready(function() {
    jQuery("#grid").w2grid({
          name : "grid"
        , show : {
              toolbar:true
            , footer:true
            , toolbarAdd:true           // 등록 버튼
            , toolbarDelete:true        // 삭제 버튼
            , toolbarEdit:true           // 수정 버튼
            , toolbarSave:true          // 저장 버튼
            , toolbarReload:true
        }
        , columns : [               
              { field:"name", caption:"이름", size:"30%" }
            , { field:"autonym", caption:"본명", size:"30%" }
            , { field:"position", caption:"포지션", size:"40%" }
            , { field:"birthday", caption:"생일", size:"120px" }
        ]
        , onAdd:function(event) {
            w2alert("그리드에 행을 추가합니다.", "추가");
        }
        , onEdit:function(event) {
            w2alert("그리드에 행을 수정합니다.", "수정");
        }
        , onDelete:function(event) {
            console.log("Delete has default behaviour");
        }
        , onSubmit:function(event) {
            w2alert("그리드의 변경사항을 저장합니다.", "저장");
        }
        , records : [
              { recid:1, name:"나연", autonym:"임나연", position:"리드댄서, 리드보컬", birthday:"1995-09-22" }
            , { recid:2, name:"정연", autonym:"유정연", position:"리드보컬", birthday:"1996-11-01" }
            , { recid:3, name:"모모", autonym:"히라이 모모", position:"서브보컬, 메인댄서", birthday:"1996-11-09" }
            , { recid:4, name:"사나", autonym:"미나토자키 사나", position:"서브보컬", birthday:"1996-12-29" }
            , { recid:5, name:"지효", autonym:"박지효", position:"리더, 메인보컬", birthday:"1997-02-01" }
            , { recid:6, name:"미나", autonym:"묘이 미나", position:"서브보컬, 메인댄서", birthday:"1997-03-24" }
            , { recid:7, name:"다현", autonym:"김다현", position:"리드래퍼, 서브보컬", birthday:"1998-05-28" }
            , { recid:8, name:"채영", autonym:"손채영", position:"메인래퍼, 서브보컬",  birthday:"1999-04-23" }
            , { recid:9, name:"쯔위", autonym:"저우 쯔위", position:"서브보컬, 리드댄서", birthday:"1999-06-14" }
        ]
    });   
});
</script>
</body>
</html>



02. 출력결과는 아래와 같다.




위 소스를 보면 각 버튼이 기본 w2ui에서 지정한 버튼 형태로 나타나는 것을 알 수 있다.

좀더 사용자가 사용하고 싶은 버튼등을 추가하기 위해서는 아래 내용을 참고하도록 하자.





그리드 검색창(Grid) 검색창에 사용자 지정 버튼 기능 추가.



01. 아래소스는 위의 코드에서 버튼 기능을 커스텀 버튼으로 위와 똑같이 구현한 내용이다.

 w2ui_grid_custom_toolbar.php

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>W2UI</title>
    <link rel="stylesheet" type="text/css" href="./css/w2ui-1.4.3.css"/>
    <script type="text/javascript" src="./js/jquery-2.1.0.min.js"></script>
    <script type="text/javascript" src="./js/w2ui-1.4.3.js"></script>
</head>
<body>
<div id="grid" style="width:100%;height:350px;"></div>
<script type="text/javascript">
jQuery(document).ready(function() {
    jQuery("#grid").w2grid({
          name : "grid"
        , show : {
              toolbar:true
            , footer:true
        }
        , toolbar : {
            items : [
                  { type:"break" }
                , { type:"button", id:"add", caption:"Add New", icon:"w2ui-icon-plus" }
                , { type:"button", id:"edit", caption:"Edit", icon:"w2ui-icon-pencil", disabled:true }
                , { type:"button", id:"del", caption:"Delete", icon:"w2ui-icon-cross", disabled:true }
                , { type:"break" }
                , { type:"button", id:"save", caption:"save", icon:"w2ui-icon-check" }
            ]
            , onClick:function(event) {
                switch(event.target) {
                    case "add" :
                        w2alert("그리드에 행을 추가합니다.", "추가");
                        break;
                    case "edit" :
                        w2alert("그리드에 행을 수정합니다.", "수정");
                        break;
                    case "del" :
                        console.log("Delete has default behaviour");
                        break;
                    case "save":
                        w2alert("그리드의 변경사항을 저장합니다.", "저장");
                        break;
                }
            }
        }
        , columns : [               
              { field:"name", caption:"이름", size:"30%" }
            , { field:"autonym", caption:"본명", size:"30%" }
            , { field:"position", caption:"포지션", size:"40%" }
            , { field:"birthday", caption:"생일", size:"120px" }
        ]
        , onAdd:function(event) {
            w2alert("그리드에 행을 추가합니다.", "추가");
        }
        , onEdit:function(event) {
            w2alert("그리드에 행을 수정합니다.", "수정");
        }
        , onDelete:function(event) {
            console.log("Delete has default behaviour");
        }
        , onSubmit:function(event) {
            w2alert("그리드의 변경사항을 저장합니다.", "저장");
        }
        , records : [
              { recid:1, name:"나연", autonym:"임나연", position:"리드댄서, 리드보컬", birthday:"1995-09-22" }
            , { recid:2, name:"정연", autonym:"유정연", position:"리드보컬", birthday:"1996-11-01" }
            , { recid:3, name:"모모", autonym:"히라이 모모", position:"서브보컬, 메인댄서", birthday:"1996-11-09" }
            , { recid:4, name:"사나", autonym:"미나토자키 사나", position:"서브보컬", birthday:"1996-12-29" }
            , { recid:5, name:"지효", autonym:"박지효", position:"리더, 메인보컬", birthday:"1997-02-01" }
            , { recid:6, name:"미나", autonym:"묘이 미나", position:"서브보컬, 메인댄서", birthday:"1997-03-24" }
            , { recid:7, name:"다현", autonym:"김다현", position:"리드래퍼, 서브보컬", birthday:"1998-05-28" }
            , { recid:8, name:"채영", autonym:"손채영", position:"메인래퍼, 서브보컬",  birthday:"1999-04-23" }
            , { recid:9, name:"쯔위", autonym:"저우 쯔위", position:"서브보컬, 리드댄서", birthday:"1999-06-14" }
        ]
        , onClick:function(event) {
            w2ui["grid"].toolbar.enable("edit", "del");
        }
    });   
});
</script>
</body>
</html>



02. 출력결과는 아래와 같다. 모든기능이 위와 동일하다.






반응형