//数据初始定义 $.jgrid.defaults.width = 780; $.jgrid.defaults.styleUI = 'Bootstrap'; var dataCol = [];//数据列 标准jqgrid colModel 额外附加属性 sumtype: "sum", sumtxt:"类型:{0}" var searchCol = [];//查询列 //参数配置 multiselect 是否出现多选 selectcol 多选获取的值 默认id, //获取方式:GetGridSelect() 值结果 1,2,3 注意不管是否中文 都无引号 例如 :春,夏,秋,东 var _booltreeGrid = true; var _rownumbers = true; var _loadonce = false; var _selectleaf = false; var _isgetchild = false; var gridConfig = { multiselect: true, lable: 'Name2', code: 'ID1', selectleaf: false , treeGrid: { _treeGrid: false, _expandColumn: "Comments", _valchild: false,//包含子树值 _treeReader: { level_field: "Level", parent_id_field: "SuperiorsId", // then why does your table use "parent_id"? leaf_field: "IsLeaf", expanded_field: "Expanded" } } }; //txt date datetime datearea chechbox ,combox 参考 //searchCol = [ // { label: '商品编号', name: 'Productcode', labtype: 'txt', ismust: true }, // { label: '商品名称', name: 'Productname', labtype: 'txt' }, // { label: '创建日期', name: 'Adddate', labtype: 'date' }, // { label: '类型选择', name: 'Selecttype', labtype: 'combox', data: [{ code: 5, label: '春天' }, { code: 6, label: '夏天' }, { code: 7, label: '秋天' }] }, // { label: '会计周期', name: 'Firadate', labtype: 'datearea' }, // { label: '是否打折', name: 'Ispdata', labtype: 'chechbox' } //]; //formatter: function (cellvalue, options, rowObject) { // if (cellvalue == '0') return ""; // if (cellvalue == '1') return ""; //}, var dataUrl = "";//地址 var lastSearch = []; var SelectedVal = []; var isfirst = true; function doResize() { //var w = $(document.body).width(); var h = document.body.offsetHeight; var leftw = 0; if (gridConfig.multiselect) { leftw = $("#leftzone").width(); } else { $("#leftzone").hide(); } var searhh = 0; if (_booltreeGrid) { // searhh = 45; } //console.log("宽度:" + w + " 高度:" + h + "|" + $("#topzone").width()); $("#jqGrid").jqGrid('setGridWidth', $("#topzone").width() + 32 - leftw); $("#jqGrid").jqGrid('setGridHeight', h - 180 - searhh); $("#leftzone").height(h - 100); $("#selectzone").height(h - 170); } function LoadGrid(jdata) { var postData = $('#jqGrid').jqGrid("getGridParam", "postData"); $.each(lastSearch, function (k, v) { delete postData[k]; }); lastSearch = jdata; $.extend(jdata, { totalrows: 0 }); // alert(JSON.stringify(jdata)); // $('#jqGrid').jqGrid('clearGridData'); $("#jqGrid").jqGrid('setGridParam', { postData: jdata, page: 1 }); //重新载入 $("#jqGrid").trigger("reloadGrid"); // $("#jqGrid").trigger("reloadGrid"); toSetTooBarVal(); } $(document).ready(function () { if (searchCol.length == 0) { $("#btnview").hide(); } //页面查询按钮及查询条件加载 $(window).resize(function () { doResize(); }); if (gridConfig != undefined && gridConfig.treeGrid != undefined && gridConfig.treeGrid._treeGrid) { _booltreeGrid = true; _rownumbers = false; _loadonce = true; if (gridConfig.selectleaf != undefined && gridConfig.selectleaf == true) { _selectleaf = true; } if (gridConfig.treeGrid._valchild != undefined && gridConfig.treeGrid._valchild == true) { _isgetchild = true; } } else { _booltreeGrid = false; gridConfig.treeGrid = { _treeGrid: false, _expandColumn: "Comments", _treeReader: { level_field: "Level", parent_id_field: "SuperiorsId", // then why does your table use "parent_id"? leaf_field: "IsLeaf", expanded_field: "Expanded" } } } // alert(vals); if (gridConfig.multiselect == true) { var vals = decodeURI($.query.get("val")) if (vals != "" && vals != undefined && vals != "undefined" && vals != true && vals != "true") { SelectedVal = jQuery.parseJSON(vals); // alert(SelectedVal.length); loadSelectHtml(); } } if (_booltreeGrid) { $("#searchbtn").hide(); $("#topzone").css("border", "solid 0px #B0C4DE"); $("#topzone").css("margin", "0px 0px"); $("#topzone").css("height", "0px"); $("#topzone").css("padding-top", "0px"); $("#topzone").css("padding-bottom", "0px"); } $("#jqGrid").jqGrid({ treeGrid: _booltreeGrid, treeGridModel: 'adjacency', ExpandColumn: gridConfig.treeGrid._expandColumn, treeReader: gridConfig.treeGrid._treeReader, tree_root_level: 0, url: dataUrl, mtype: "POST", datatype: "json", colModel: dataCol, viewrecords: true, // show the current page, data rang and total records on the toolbar width: 780, height: 200, loadonce: _loadonce, pager: "#jqGridPager", footerrow: true, rownumbers: _rownumbers, cmTemplate: { sortable: false }, sortname: "ID", rowNum: 30, rowList: [30, 50, 100], jsonReader: { root: "DataList", page: "CurrPage", total: "PageTotal", // 很重要 定义了 后台分页参数的名字。 records: "Records", repeatitems: false }, gridComplete: completeMethod, multiselect: gridConfig.multiselect // , beforeSelectRow: beforeSelectRow//js方法 , onSelectAll: ToSelectAll , onSelectRow: ToonSelectRow , ondblClickRow: TodblClickRow , beforeRequest: BeforeRequest }); jQuery("#jqGrid").jqGrid('navGrid', "#jqGridPager", { edit: false, add: false, del: false, search: false, refresh: true }); if (_booltreeGrid) { jQuery("#jqGrid").jqGrid('filterToolbar', { searchOperators: true, defaultSearch: "cn", searchOnEnter: false }); } doResize(); if (gridConfig.multiselect) { $("#leftzone").show(); } else { $("#leftzone").hide(); } $("#searchbtn").click(function () { _pageSeach(); }); $("#searchmorendatabtn").click(function () { var cars = ["查询", "取消"]; var url = "/Content/SearchComm.html?data=" + encodeURI(JSON.stringify(searchCol)) + "&lastsearch=" + encodeURI(JSON.stringify(lastSearch)); dlog.open("查询条件", cars, "sm", url, function (res) { LoadGrid(res); }, function () { }, function () { return false; }, function () { return false; } ); }); }); function BeforeRequest() { var ischeck = true; if (typeof (_beforeSearch) === "function") { ischeck = _beforeSearch(); if (!ischeck) { return false; } } if (!isfirst) { return; } var jsons = GetSearchEnd(); if (jsons == undefined || jsons == false || jsons.length==0) { return; } $.extend(jsons, { totalrows: 0 }); $("#jqGrid").jqGrid('setGridParam', { postData: jsons, page: 1 }); //重新载入 } function _pageSeach() { var jsons = GetSearchEnd(); if (jsons == undefined || jsons == false) { msg.info("请录入查询条件"); return false; } LoadGrid(jsons); } function GetGridSelect() { return jQuery('#jqGrid').jqGrid('getGridParam', 'selarrrow'); } function ToSelectAll(aRowids, status) { $.each(aRowids, function (index, item) { ToonSelectRow(item, status); }); } function loadEndSelectRow() { //$("jqgridtableid").jqGrid('setSelection',id1); //$("jqgridtableid").jqGrid('setSelection',id2); } function TodblClickRow(rowid, iRow, iCol, e) { $('.layui-layer-btn0', window.parent.document).trigger("click"); } function ToonSelectRow(rowid, status) { var json = $("#jqGrid").getRowData(rowid); // { Code:'124',Name:"$"}; var codeval = ""; lableval = ""; $.each(json, function (key, value) { if (key == gridConfig.code) { codeval = value; } if (key == gridConfig.lable) { lableval = value; } }); if (codeval == "") { return; } var jdata = { code: codeval, lable: lableval }; if (status) { //存在 返回 if (GetRowIndex(codeval) > -1) { return; } SelectedVal.push(jdata); } else { toRemoveItem(codeval); } loadSelectHtml(); } function GetRowIndex(codeval) { var _index = -1; $.each(SelectedVal, function (index, item) { if (item.code == codeval) { _index = index; } }); return _index; } function loadSelectHtml() { var htmls = ""; $.each(SelectedVal, function (index, key) { htmls += '
  • '; htmls += ''; htmls += key.lable; htmls += '
  • ' }); $("#selectedinfo").html(htmls); $("#showselectcount").html("" + SelectedVal.length + ""); } function toDoRemove(code) { if (toRemoveItem(code)) { loadSelectHtml(); } toSetRowStatus(code, false); } function toSetRowStatus(code, status) { if (status) { var obj = $("#jqGrid").jqGrid("getRowData"); jQuery(obj).each(function (index, item) { var codeval = ""; $.each(item, function (key, value) { if (key == gridConfig.code) { codeval = value; } }); if (codeval == code) { // alert(item.rowid); // alert(index + " - code:" + code); $("#jqGrid").jqGrid('setSelection', index + 1, status); } }); } if (!status) { var rowIds = jQuery("#jqGrid").jqGrid('getGridParam', 'selarrrow'); $.each(rowIds, function (index, rowid) { var rowdata = $("#jqGrid").getRowData(rowid); var codeval = ""; $.each(rowdata, function (key, value) { if (key == gridConfig.code) { codeval = value; } }); if (codeval == code) { $("#jqGrid").jqGrid('setSelection', rowid, status); } }); } } function toRemoveItem(code) { var _index = GetRowIndex(code); if (_index > -1) { SelectedVal.splice(_index, 1); return true; } else { return false; } } function beforeSelectRow(rowid, e) { // if (gridConfig.multiselect) { var rowIds = jQuery("#jqGrid").jqGrid('getGridParam', 'selarrrow'); var d = $("#jqGrid").getRowData(rowid); alert(rowIds); return (true); //} //else { // $("#jqGrid").jqGrid('resetSelection'); // return (true); //} // return (false); } function completeMethod() { isfirst = false; //$(".checkbox").change(function (a, b, c, d) { // var cbid = a.target.id;//jqg_jqGrid_2 // var rowid = cbid.replace('jqg_jqGrid_', ''); // alert(rowid + " -- " + jQuery("#jqGrid").jqGrid('getGridParam', 'selarrrow')); //}); $(".J_menuItem").on("click", appendTab); var recordsno = $('#jqGrid').getGridParam('records'); var postData = $('#jqGrid').jqGrid("getGridParam", "postData"); $.extend(postData, { totalrows: recordsno }); if (!gridConfig.multiselect) { $("#jqgh_jqGrid_cb").hide();//disabled } else { $.each(SelectedVal, function (index, item) { toSetRowStatus(item.code, true); }); } //sumtype: "sum", sumtxt:"类型:{0}" var sumstr = ""; $.each(dataCol, function (index, item) { if (item.sumtype != undefined) { if (item.sumtype == "sum") { var htmlinfo = ""; var sum_amount = $("#jqGrid").getCol(item.name, false, 'sum'); if (item.sumtxt != undefined && item.sumtxt.indexOf('{0}' > -1)) { htmlinfo = item.sumtxt.replace("{0}", sum_amount); } else { htmlinfo = sum_amount; } sumstr += ',"' + item.name + '":"' + htmlinfo + '"'; } } }); if (sumstr != "") { sumstr = "{" + sumstr.substring(1) + "}"; } else { sumstr = "{}"; } // alert(sumstr); // var sum_amount = $("#jqGrid").getCol('ID', false, 'sum'); $("#jqGrid").footerData('set', jQuery.parseJSON(sumstr)); if (_booltreeGrid) { $("#jqGrid").find(".treeclick").trigger('click'); } var userdata = jQuery("#jqGrid").jqGrid('getGridParam', 'userData'); if (userdata != undefined && userdata != "" && userdata.Result != undefined && userdata.Message != undefined) { if (userdata.Result == false && userdata.Message != "") { msg.err(userdata.Message); } if (userdata.Result == true && userdata.Message != "") { msg.info(userdata.Message); } } if (typeof (_afterSearch) === "function") { ischeck = _afterSearch(); } } function dlogBtnYes() { if (gridConfig.multiselect) { //多选 if (SelectedVal.length == 0) { msg.err("请至少选择一行数据"); return false; } return SelectedVal; } else { //单选 var rowIds = jQuery("#jqGrid").jqGrid('getGridParam', 'selrow'); if (rowIds == "") { msg.err("请选择数据"); return false; } var json = $("#jqGrid").getRowData(rowIds); // // _selectleaf var codeval = ""; var lableval = ""; var isselectleaf = false; $.each(json, function (key, value) { if (key == gridConfig.treeGrid._treeReader.leaf_field) { isselectleaf = value; } if (key == gridConfig.code) { codeval = value; } if (key == gridConfig.lable) { lableval = value; } }); if (_selectleaf) { if (isselectleaf != "true") { msg.err("只能选择末级数据"); return false; } } // alert(codeval + " - " + lableval); if (codeval == "") { msg.err("请选择数据"); return false; } if (_booltreeGrid && _isgetchild) { var ret = $("#jqGrid").jqGrid("getRowData") allval = codeval; GetSelectData(ret, codeval); codeval = allval; } return { code: codeval, lable: lableval } } // alert(JSON.stringify(returnJson)); } var allval = ""; function GetSelectData(data, lastid) { $.each(data, function (i, item) { if (item.Superior == lastid) { allval += "," + item.Id; if (item.IsLeaf != true) { GetSelectData(data, item.Id); } } }); }