//数据初始定义
$.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 += '