반응형

+ 잠버릇


Do you have any sleeping habits?    (잠버릇)

I grind my teeth occasionally.    (이를 갈다)

My roommate was snoring really loudly.    코를 골다

She was talking in her sleep.        잠꼬대 하다.

Had a rough night?

I didn't get a wink (sleep) last night.  어젯밤 한 숨도 못잤다.


deep sleeper

morning person

night person


I slept like a baby / log. 푹자다


snore 미국·영국 [snɔ:(r)] 발음 듣기 영국식 발음 듣기 중요

1. 코를 골다
2. 코 고는 소리




반응형




DB에서 얻어오는 필요한 데이터필드는 일단 정의해 두고, hidden으로 보이지 않게 한다.
이후에 load 완료시 색깔을 변경하거나 값을 변경할 수 있다.

+ 셀 데이터값에 따라 줄 색깔 변경하기 ; setRowData
   jqGrid(... ) 내부에 아래 콜백을 추가한다.

   , loadComplete : function() {
             var ids = $("#curlist").getDataIDs() ;
             $.each( ids, function(idx, rowId) {
                            rowData = $("#curlist").getRowData(rowId) ;
                          if ( rowData.RESULT == rowData.RESULTHU ) {
                          } else {
                                   // 색깔 변경하기
                               $("#curlist").setRowData(rowId, false, {background:"#ff0000"}) ;
                          }
                       }
                 ) ;             
        }


+ 셀 값 변경하기 ; setCell or formatter
(필드명 그대로 사용하지 않고, 다른 필드의 조합으로 해당 값을 만들 경우)
필요한 필드들을 일단 가져오고, hidden으로 해 두고, 실제 사용할 필드명을 정의해서 afterInsertRow나 loadComplete에서
처리해 준다.

    $("#reglist").jqGrid({ 
        //ajax 호출할 페이지
        url:'GetRegSign',
        //로딩중일때 출력시킬 로딩내용
        loadtext : '로딩중..',
        //응답값
        datatype: "json",
        mtype : 'POST',
        postData:{},
        height: 250,
        colNames:['ID','등록일', 'TotalCnt','OkCnt', 'FailCnt','Total'],
        colModel:[
            {name:'SIGNID', width:'270'},
            {name:'REGDATE', formatter:function(cellvalue, options, rowobj){
                 return dateconverthu(cellvalue) ;
            }},
            {name:'AUTHCNT', width:'50', hidden:true},
            {name:'AUTHOKCNT', width:'50', hidden:true},
            {name:'AUTHFAILCNT', width:'50', hidden:true},
            {name:'TOTAL', width:'50'}
            ],
        caption: "등록서명",

loadComplete : function() {
             var ids = $("#reglist").getDataIDs() ;
             $.each(ids, function(idx, rowId) {
                            rowData = $("#reglist").getRowData(rowId) ;
                            if ( !rowData.AUTHCNT ) rowData.AUTHCNT="0" ;
                            if ( !rowData.AUTHOKCNT ) rowData.AUTHOKCNT="0" ;
                            if ( !rowData.AUTHFAILCNT ) rowData.AUTHFAILCNT="0" ;
                              // 셀 값 설정하기
                            $("#reglist").setCell(rowId, 'TOTAL', rowData.AUTHCNT
                   +" ("+rowData.AUTHOKCNT+"/"+rowData.AUTHFAILCNT+")") ;
                       }
                 ) ;
        }






'Develop > Java' 카테고리의 다른 글

CentOS, tomcat 타임존 문제  (2) 2018.03.06
tomcat 외부라이브러리 경로 설정 및 톰캣 튜닝  (0) 2018.03.06
jqGrid (1)  (0) 2016.01.19
한글 인코딩 UTF8  (0) 2015.06.02
tomcat에서 한글 인코딩 UTF8기준  (0) 2015.06.02
반응형

++ jqgrid
jQueryUI  ; jquery를 이용한 UI  프레임워크.
위 사이트에서 gallery탭에 원하는 테마를 선택하고, 다운로드한다. 페이지 이동되면 맨 밑에 다운로드버튼 있음.

jqGrid ; 플러그인. 대량의 데이터를 테이블로 웹에 표현시 사용. jQuery로 된 플러그인임.
          ajax 기반 자바스크립트 컨트롤러, jquery-ui를 이용.
     페이징, 정렬 등의 기능 제공.

+ 사용 방법

1. webcontent 폴더 내부에 jqgrid 폴더 생성, jqueryui 폴더 생성
jqgrid, jqueryui 압축 파일을 풀어서 위 생성한 폴더로 복사.

2. 연결

-jsp 페이지에 다음과 같이 코딩.

< script src ="js/jquery-1.11.0.js"></script >
<!-- jqGrid 연동코드 -->
<link rel="stylesheet" type="text/css" media="screen"
       href="jqueryui/jquery-ui.css" />
<link rel="stylesheet" type="text/css" media="screen"
       href="jqgrid/css/ui.jqgrid.css" />
<!--
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
 -->
<script src="jqueryui/jquery-ui.js" ></script>
<script src="jqgrid/js/jquery.jqGrid.min.js" ></script>
<!--  -->

 헤더부에 위와 같이 필요한 js를 로딩하도록 한다.


<script>
$(function(){
    $("#loglist").jqGrid({ 
        //ajax 호출할 페이지
        url: 'GetLog',
        //로딩중일때 출력시킬 로딩내용
        loadtext : '로딩중..',
        //응답값
        datatype: "json",
        mtype : 'POST',
        postData:{},
        height: 250,
        colNames:[ 'ID','등록일' , '등록자' , '장치' , '데이터' ],
        colModel:[
            {name: 'LOGID'},
            {name: 'REGDATE'},
            {name: 'MOBILE'},
            {name: 'REGDEVTYPE'},
            {name: 'DATA', hidden:true }
        ],
        caption: "로그"
    });
});
</script>

<div id="divloglist">
       <table id= "loglist">
       </table>
</div>

위 ajax로 된 GetLog URL은 servlet으로 DB조회 데이터를 json 형태로 위 colModel에 나온 name의  필드명으로 데이터가 조회되도록 한다.




+ 레코드(라인)row 불러오기
-----------------------------------------------------------------------------------
(1) 단일 Row 일 경우 선택하여 값을 불러오기
 var obj = $("#ListTable");
var rowId = obj.jqGrid("getGridParam", "selrow");
var value = obj.jqGrid('getCell', rowId, 'ColumnName');
alert(value);
 
(2) MultiSelect 다중 Row 일 경우 값 출력 해보기
var obj = $("#ListTable");
var idx = obj .jqGrid('getGridParam', 'selarrrow');
 
for(var i = 0; i < idx.length;i++)
{
var value = obj.jqGrid('getCell', idx[i], ''ColumnName’);
alert(value);
}
-----------------------------------------------------------------------------------


++ 멀티 셀렉트 된 결과 가져오기
-----------------------------------------------------------------------------------

$("#OutputGrid").getGridParam('selarrrow');
를 사용 현재선택되어진 로우의 id값을 가져올수 있다.
리턴값은 Array
var ids = $("#OutputGrid").jqGrid('getDataIDs');
는 전체 로우의 id값을 가져온다      

루프를 돌면서 id값을 비교하여 존재한다면 선택된어진 로우이고 없다면 선택 안 된 로우이다.


function setErp() {
        var message = "";
        var id = $("#OutputGrid").getGridParam('selarrrow');
        var ids = $("#OutputGrid").jqGrid('getDataIDs');
        var dat = "";
        var count = 0;

// 이렇게 하거나
        for (var i = 0; i < ids.length; i++) {
            var check = false;
            $.each(id, function (index, value) {
                if (value == ids[i])
                    check = true;
            });
            if (check) {
                var rowdata = $("#OutputGrid").getRowData(ids[i]);
                dat += rowdata.ORDER_CD + ',' + rowdata.ORDER_SEQ + '/';
                count++;
            }
        }
// 또는 이렇게 간단하게.
$.each(id, function(index,value) {
var rowdata = $("#OutputGrid").getRowData(value) ;
dat += rowData.ORDER_CD+','+rowdata.ORDER_SEQ+'/';
count++ ;
}) ;


     $("#strOrder").val(dat);
     $("form").submit();
 }


* jqgrid multi select option 처리 multiselect: true

jQuery("#OutputGrid").jqGrid({
        url: ''      
datatype: 'json',
        mtype: 'POST',
        height: 500,
        rowNum: 0,
        hidegrid: false,
        rowList: [10, 20, 30],
        altRows: true,
        altclass: 'EvenRowClass',
        colNames: [1, 2, 3, 4, 5, 6],
        colModel: [
        { name: 'CUSTOMER_CD', index: 'CUSTOMER_CD', width: 80, sortable: false, align: 'center' },
        { name: 'NAME', index: 'NAME', width: 70, sortable: false, align: 'center' },
        { name: 'KIND_NM', index: 'KIND_NM', width: 30, sortable: false, align: 'center' },
        { name: 'MODEL_NM', index: 'MODEL_NM', width: 130, sortable: false, align: 'left' },
        { name: 'ORDER_CD', index: 'ORDER_CD', width: 1, sortable: false, align: 'center', hidden : true },
        { name: 'ORDER_SEQ', index: 'ORDER_SEQ', width: 1, sortable: false, align: 'center', hidden: true }
        ],
        viewrecords: true,
        multiselect: true
    });







+ Recent posts