右键标题展示所有的列, 对选中要求显示的列进行展示.

//显示隐藏Grid列 参数:grid对象, 复合列数组  在右键点击事件里面调用.  grid:grid对象  ReuniteField:列名
function createColumnMenu(grid, ReuniteField) {
var cols_arry = [];
$.each(ReuniteField, function (index, field) {
cols_arry.push(field.colspan);
})
top.$(".ct-collist").remove();
var cmenu = $('<div class="ct-collist"><div/>');
var coslIndex = 0, cosl_count = 0;
var fields = $(grid).datagrid('getColumnFields');
var isckall = true;
for (var i = 0; i < fields.length; i++) {
var field = fields[i];
var col = $(grid).datagrid('getColumnOption', field);
var menu_text = "";
if (cols_arry.length > 0) {
if (coslIndex == 0) {
cosl_count = cols_arry[coslIndex];
}
if (i > cosl_count - 1) {
coslIndex++;
cosl_count += cols_arry[coslIndex];
}
menu_text += ReuniteField[coslIndex].title.split(' ')[0];
var rowspan = ReuniteField[coslIndex].rowspan;
if (rowspan == undefined || rowspan <= 1) {
menu_text += col.title;
}
} else {
menu_text = col.title;
}
var checked = "", ck_val = 0;
if ($(col).attr('isHide') == true || $(col).attr('isHide') == undefined) {
checked = "checked='true'";
ck_val = 1;
}
if ($(col).attr('isHide') != undefined && $(col).attr('isHide') == false) {
isckall = false;
}
cmenu.append('<label><input type="checkbox" ' + checked + ' _val="' + ck_val + '" id="ck_' + field + '" onClick="showHeader(\'' + field + '\')" value="' + field + '">' + menu_text + '</label>');
}
var ck_all_cked = "", ck_all_val = 0;
if (isckall) { ck_all_cked = "checked='true'"; ck_all_val = 1; }
cmenu.prepend('<div><input type="checkbox" onClick="ckSelectAll(this)" ' + ck_all_cked + ' _al_val="' + ck_all_val + '" id="selectAll">全选</div>');
top.dialog({
id: 'showcolumn',
title: '选择显示列',
//content: cmenu,
okValue: '确定',
ok: function () {
top.$(".ct-collist input[type='checkbox']").each(function (index, ckbox) {
var col = $(grid).datagrid('getColumnOption', $(ckbox).val());
if ($(ckbox).attr("_val") == "0") {
$(grid).datagrid('hideColumn', $(ckbox).val());
$(col).attr('isHide', false);
} else {
if ($(col).attr('isHide') == false) {
$(grid).datagrid('showColumn', $(ckbox).val());
$(col).attr('isHide', true);
}
}
})
}
}).content(cmenu).show();
}

posted on 2018-08-13 15:00  只为_更加优秀!  阅读(188)  评论(0编辑  收藏  举报

导航