Contents
see List<link rel="stylesheet" type="text/css" href='<c:url value="/resources/jqgrid/css/jquery-ui-timepicker-addon.css"/>' />
<link rel="stylesheet" type="text/css" href='<c:url value="/resources/jqgrid/css/jquery-ui.min.css"/>' />
<link rel="stylesheet" type="text/css" href="<c:url value="/resources/jqgrid/css/ui.jqgrid.css"/>" />
<script type="text/javascript" src="${root}/resources/js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="${root}/resources/js/jquery.number.min.js"></script>
<script type="text/javascript" src="${root}/resources/js/nav.js"></script>
<script type="text/javascript" src="${root}/resources/js/placeholders.min.js"></script>
<!-- jQgrid JS -->
<script src="<c:url value="/resources/jqgrid/js/jquery-ui.min.js"/>" type="text/javascript"></script>
<script src="<c:url value="/resources/jqgrid/js/jquery-ui-timepicker-addon.js"/>" type="text/javascript"></script>
<script src="<c:url value="/resources/jqgrid/js/i18n/grid.locale-kr.js"/>" type="text/javascript"></script>
<script src="<c:url value="/resources/jqgrid/js/jquery.jqGrid.min.js"/>" type="text/javascript"></script>
function changeCode(tar){
var code1 = $(tar).val();
if(code1 == "G211"){
$("#inMoney").val("${groupBean.mnthFee}");
$("#bankComment").val("회비");
}else if(code1 == "G212"){
$("#inMoney").val("${groupBean.groupFee}");
$("#bankComment").val("가입비");
}else{
$("#inMoney").val(0);
}
}
var updateDialog = {
url: '<c:url value="/srvc/group/alterBankAjax.phy"/>'
, closeAfterAdd: true
, closeAfterEdit: true
,closeOnEscape:true
, modal: true
, onclickSubmit: function (params) {
var ajaxData = {};
var list = $("#grid1");
var selectedRow = list.getGridParam("selrow");
rowData = list.getRowData(selectedRow);
ajaxData = { dirId: rowData.dirId ,groupCode : "${groupBean.groupCode}"};
return ajaxData;
}
, afterShowForm: function (formId) {
$("#inMoney").mask("(999) 999-9999");
}
, afterclickPgButtons: function (whichbutton, formid, rowid) {
$("#inMoney").mask("(999) 999-9999");
}
, width: "300"
, afterSubmit : function (resp, postdata)
{
var data1 = $.parseJSON(resp.responseText);
alert(data1.msg1);
if(data1.success){
$("#asst_span").text(data1.msg2.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,'));
}
return [true,"",""];
}
};
function fixSearchOperators() {
var $grid = $("#grid1"),
columns = $grid.jqGrid ('getGridParam', 'colModel'),
filterToolbar = $($grid[0].grid.hDiv).find("tr.ui-search-toolbar");
filterToolbar.find("th").each(function(index) {
var $searchOper = $(this).find(".ui-search-oper");
if (!(columns[index].searchoptions && columns[index].searchoptions.searchOperators)) {
$searchOper.hide();
}
});
}
function startGrid(){
$("#grid1").jqGrid(
{
url : '<c:url value="/srvc/group/bankListGrid.phy"/>' // 데이터를 요청할 url
,postData:{
groupCode : "${groupBean.groupCode}"
}
,datatype : "json" // url을 통해 받아오는 데이터의 타입.
,mtype : "post" // method type
,height : 240 // 높이
,width: 1000
,jsonReader : {
page : "page", // 현제 페이지, 하단의 navi에 출력됨.
total : "total", // 총 페이지 수
root : "rows", // 실제 jqgrid에서 뿌려져야 할 데이터들이 있는 json 키값
records : "records", // 총 row 수
}
,gridComplete : function() {
// 성공적으로 그리드가 완료 되었을때 실행되는 부분
}
,loadError : function(xhr, status, error) {
// 데이터 로드 실패시 실행되는 부분
alert(error);
}
,loadComplete: function(){ // 다 불렀을때 이벤트
}
,onSelectRow: function(rowid, status, e) { //한행 클릭시
}
,onCellSelect: function(rowid, iCol){ // 셀 하나 클릭시
var list = jQuery("#grid").getRowData(rowid);
var a1 = list.name;
var a2 = list.age;
}
,ondblClickRow: function (rowid, iRow, iCol, e) {
$("#grid1").editGridRow(rowid, updateDialog);
}
,colNames : [ '코드', '회원','일시', '분류','분류','내용','입금', '출금'] // 컬럼명
,colModel :
[
{ name : 'bankNum', index :"BANK_NUM", width:30, align:'center' ,key:true ,search:false} //유니크한 키있어야함
,{ name : 'personName', index :"PERSON_NAME", width:80, align:'left' , editable: true
,edittype:'select'
,editoptions: {
dataUrl : '<c:url value="/srvc/group/loadPersonListAjax.phy?groupCode=${groupBean.groupCode}"/>'
,buildSelect:function (data1){
var rtSlt = '<select name="personName">';
data1 = $.parseJSON(data1);
$.each(data1,function(i1,v1){
rtSlt += '<option value="' +v1.personName + '">' + v1.personName + '</option>';
});
rtSlt +='</select>';
return rtSlt;
}
}
,editrules:{edithidden:true, required:true}
}
,{ name : 'inDate', index :"IN_DATE", width:100, align:'center', editable: true
,search:true/* ,searchoptions: { sopt: ['eq', 'ne', 'cn']} */
, editoptions: {
dataInit: function(el) {
$(el).datetimepicker({
addSliderAccess: true
,sliderAccessArgs: { touchonly: true }
,timeFormat : "HH:mm"
,dateFormat : "yy-mm-dd"
});
}
}
,editrules:{edithidden:true, required:true}
}
,{ name : 'tmp1', index :"BANK_CODE", width:80, align:'left',search:false , editable: false,editrules:{edithidden:true, required:true}
}
,{ name : 'bankCode', index :"BANK_CODE", hidden:true, width:80, align:'left' , editable: true,editrules:{edithidden:true, required:true}
,edittype:'select'
,editoptions: {
dataUrl : '<c:url value="/srvc/group/loadBankCodeListAjax.phy"/>'
,buildSelect:function (data1){
var rtSlt = '<select name="bankCode">';
data1 = $.parseJSON(data1);
$.each(data1,function(i1,v1){
rtSlt += '<option value="' +v1.code + '">' + v1.codeName+ '</option>';
});
rtSlt +='</select>';
return rtSlt;
}
,dataEvents: [
{ type: 'click', fn: function(e) {changeCode(this); } }
]
}
,editrules:{edithidden:true, required:true}
}
,{ name : 'bankComment', index :"BANK_COMMENT", width:300, align:'left',formatter:'file' ,sortable : true, editable: true,editrules:{edithidden:true, required:true}}
,{ name : 'inMoney', index :"IN_MONEY", width:80, align:'right' , editable: true,formatter:'integer',editrules:{edithidden:true, required:false}}
,{ name : 'outMoney', index :"OUT_MONEY", width:80, align:'right' , editable: true,formatter:'integer',editrules:{edithidden:true, required:false}}
// ,{ name : 'groupCode', index :"GROUP_CODE" , editable: true,hidden:true,editrules:{edithidden:false, required:true}}
]
,prmNames: { id: "bankNum" } //넘어갈 파라메터 이름 설정
,rowNum : 10 // 한 그리드에 표시될 데이터의 갯수
,rowList : [5,10,20,30] //rowNum 선택기능
,multiselect : true // 다중 선택
,viewrecords: true //row숫자 보여주기
,sortable: true
/*
//여기부터 트리그리드 속성
,treeGrid: true
,treeGridModel: 'adjacency'
,treedatatype: 'json'
,treeReader: {
level_field: "rnum"
}
,ExpandColumn: 'soc'
*/
//,rownumbers : true
,loadonce:false //reload 여부
,sortorder: "desc"
,sortname : "IN_DATE"
,caption: "Transactional Bill"
,gridview:true //처리속도를 빠르게 해준다. 시간측정시 절반가량 로딩시간 감소!!! 하지만 다음 모듈엔 사용할 수 없다!! ==> treeGrid, subGrid,
/*
//여기부터 그룹핑 옵션
,grouping:true
,groupingView : {
groupField : ['id']
}
*/
//rownumWidth : 20,
,pager : jQuery('#pager1') // 페이지 컨트롤러 삽입
}
).navGrid("#pager1",{edit:true,add:true,del:true,search: true, refresh: true}
,updateDialog
,updateDialog
,updateDialog
,{
multipleSearch: true
,multipleGroup: false
,closeOnEscape: true
,closeAfterSearch: true
,groupOps: [ { op: "AND", text: "all" }]
,matchText: "match"
,sopt: ['cn']
}
);
jQuery("#grid1").jqGrid('filterToolbar',{
searchOperators : true
,searchOnEnter: false
,ignoreCase: true
});
fixSearchOperators();
/* $( "#gs_inDate" ).datepicker(
{dateFormat:"yy-mm-dd"}
); */
}
$(function() {
// Document is ready
$.jgrid.nav.addtext = "추가";
$.jgrid.nav.edittext = "편집";
$.jgrid.nav.deltext = "삭제";
$.jgrid.nav.searchtext = "검색";
$.jgrid.nav.refreshtext = "새로고침";
$.jgrid.edit.addCaption = "로그추가";
$.jgrid.edit.editCaption = "로그편집";
$.jgrid.del.caption = "로그삭제";
$.jgrid.del.msg = "정말 삭제하실거에요?";
startGrid();
});
Comments ( 0 )