Easyui-datagrid groupview分组后勾选问题


上面datagrid对应的代码如下:
$('#tbCheckOut').datagrid({
title: '待分配库位',
iconCls: 'icon-search',
width: 1112,
height: 500,
rownumbers: true,
idField: 'ID',
sortOrder: 'desc',
sortName: 'ID',
remoteSort: false,
nowrap: false,
collapsible: true,
striped: true,
fitColumns: false,
pagesize: 10,
pagination: true,
url: '/StockOut/WebAjax/ProcCheckOutList.ashx',
queryParams: convertArray($('#fmSearch').serializeArray()),
onLoadSuccess: function (data) {
$('#tbCheckOut').datagrid('collapseGroup'); //设置折叠
},
onDblClickCell: function (index, field, value) {
},
columns: [[
{ field: 'singlechk', width: 50, checkbox: true},
{ field: 'CheckOutType', title: '单据类型', width: 80, align: 'center', sortable: true, formatter: function (value, row) {
return FGetCheckOutTypeInfo(value);
}
},
{ field: 'PostTime', title: '下单日期', width: 70, align: 'center', sortable: true, formatter: function (value, row) {
return ChangeShortDateFormat(value);
}
},
{ field: 'K3OrderCode', title: '编号', width: 120, align: 'center', sortable: true },
{ field: 'SerialNo', title: '流水号', width: 120, align: 'center', sortable: true },
{ field: 'CustomName', title: '客户', width: 200, align: 'center', sortable: true, formatter: function (value, row) {
var rtnStr = value; //todo 截取
return rtnStr;
}
},
{ field: 'ItemSNCode', title: '物料编码', width: 120, align: 'center', sortable: true },
{ field: 'SKUCode', title: 'SKU', width: 50, align: 'center', sortable: true },
{ field: 'ItemSNName', title: '物料名称', width: 250, align: 'center', sortable: true },
{ field: 'AssignNum', title: '计划', width: 50, align: 'center', sortable: true },
{ field: 'ActualNum', title: '实际', width: 50, align: 'center', sortable: true },
{ field: 'HasAllotedNum', title: '已分配', width: 50, align: 'center', sortable: true },
{ field: 'UnitName', title: '单位', width: 50, align: 'center', sortable: true },
{ field: 'SpecificationsName', title: '规格型号', width: 60, align: 'center', sortable: true },
{ field: 'WarehouseName', title: '发货仓库', width: 100, align: 'center', sortable: true },
{ field: 'ChannelName', title: '渠道', width: 30, align: 'center', sortable: true },
{ field: 'ID', title: '操作', width: 120, align: 'center', formatter: function (value, row) {
var rtnStr = "";
if (row.Status == 0) {
rtnStr = '<a href="javascript:void()" class="gridAColor" onclick="FProcTask(1,' + value + ')">自动出库</a> <a href="javascript:void()" onclick="FProcTask(0,' + value + ')" class="gridAColor" >手动出库</a>';
}
return rtnStr;
}
}
]],
groupField: 'K3OrderCode',
view: groupview,
groupFormatter: function (value, rows) {
var rtnStr = "";
rtnStr += '<input type="checkbox" onclick="FGPCkbClick(this)" helpGPVal="' + value + '" name="gpChk" />';
rtnStr += value + ' 单据数量=' + rows.length + '条';
var sumAssignNum = 0;
var sumActualNum = 0;
for (var i = 0; i < rows.length; i++) {
sumAssignNum += rows[i].AssignNum;
sumActualNum += rows[i].ActualNum;
}
rtnStr += " 计划量=" + sumAssignNum;
rtnStr += " 实际量=" + sumActualNum;
return rtnStr;
}
});
下面是实现该功能的几个js函数
//分组ckb事件
function FGPCkbClick(obj) {
var gpVal = $(obj).attr("helpGPVal");
var isChecked = $(obj).attr('checked') == 'checked' ? true : false;
selectByGroup(isChecked, gpVal, '#tbCheckOut');
}
//分组选中
function selectByGroup(checked, value, tableIdSelector) {
var groups = $(tableIdSelector).datagrid("options").view.groups;
var rows;
for (var i = 0; i < groups.length; i++) {
if (groups[i].value == value) {
rows = groups[i].rows;
break;
}
}
if (checked) {
for (var i = 0; i < rows.length; i++) {
$(tableIdSelector).datagrid("selectRow", $(tableIdSelector).datagrid("getRowIndex", rows[i]));
}
}
else {
for (var i = 0; i < rows.length; i++) {
$(tableIdSelector).datagrid("unselectRow", $(tableIdSelector).datagrid("getRowIndex", rows[i]));
}
}
}
//datagrid顶部ckb事件
function BoundCkbAllClick() {
$('.datagrid-header-check input').click(function () {
var isChecked = $(this).attr('checked');
$('input[name="gpChk"]').each(function (index, elemetn) {
//alert('90:' + $(this).attr('helpgpval'));
if (isChecked == 'checked') {
$(this).attr('checked', isChecked);
} else {
$(this).removeAttr('checked');
} });
});
}
感谢园友white knight提供的一个方法,完美解决
Easyui-datagrid groupview分组后勾选问题的更多相关文章
- EasyUI Datagrid换页不清出勾选方法
在1.4版本后: 只要在datagrid中加入 idField:'id',给每条数据id属性,easyui就默认就会保留之前勾选的信息 如果没有id,才会出现换页后,之前勾选的信息没有的情况
- easyui datagrid 中序列化后的日期格式化
1.在easyui datagrid 中序列化后的日期显示为:/Date(1433377800000)/ 2.格式化后的显示为: 2015-06-04 08:30:00 3.使用代码如下: 3.1. ...
- easyui datagrid 让某行复选框置灰不能选
easyui中datagrid 让某行复选框置灰不能进行选中操作,以下为主要部分的code. //加载完毕后获取所有的checkbox遍历 onLoadSuccess: function(data){ ...
- jquery easyui datagrid翻页后再查询始终从第一页开始
在查询之前将datagrid的属性pageNumber重新设置为1 var opts = grid.datagrid('options'); opts.pageNumber = 1; easyui d ...
- JQuery EasyUI DataGrid获取当前行或选中行
1.获取当前选中行,如果没有选中行,则返回 null var row = $('#gridID').datagrid('getSelected'); 2.获取当前所有选中行数据,返回元素记录的数组数据 ...
- EasyUI datagrid 序列 化后时间 处理 九
@{ ViewBag.Title = "Home Page"; Layout = null; } <!DOCTYPE html> <html> <he ...
- EasyUI Datagrid 数据网格 点击选中行 再次单击取消选中行
适用于jquery-easyui-1.9.15版本: 在项目中全局搜索: opts.singleSelect==true 或者在jquery.easyui.min.js中搜索: opts.single ...
- easyui datagrid editor combobox添加空选则清空combobox框
<script type='text/javascript'> var editIndex = undefined; $(function() { $('#tb1').datagrid({ ...
- datagrid加分组后的效果
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd8AAADdCAIAAAB13e+wAAAZgElEQVR4nO2d/28b533Hn7+APxnYgL ...
随机推荐
- frame和bounds的区别与联系
首先先看一下下面两个属性的代码实现: -(CGRect)frame{ return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.fr ...
- mysql术语解释
数据库(database): 数据表的集合: 数据表 (table):数据的矩阵: 列(column): 相同属性的数据的集合: 行(row): 一个对象的各种属性数据的集合: 冗余():一个字段在多 ...
- POJ 1065 Wooden Sticks Greed,DP
排序后贪心或根据第二关键字找最长下降子序列 #pragma comment(linker, "/STACK:1024000000,1024000000") #include< ...
- echo 换行不换行
echo换行输出需要转义符 -e 看以下例子: echo -e "It is the first line." >> a; echo -e "It is th ...
- Spring 4 官方文档学习(十二)View技术
关键词:view technology.template.template engine.markup.内容较多,按需查用即可. 介绍 Thymeleaf Groovy Markup Template ...
- hibernate多表查询,结果封装在自己定义的一个实体类当中(在自己定义的类中增加构造函数)
hibernate的hql查询直接返回java对象时出现问题3 向大家请教一个问题,现在有三张表,表之间没有关联,我需要将三张表里面的所有东西查询出来存储到一个新的对象中,该如何实现,使用hibern ...
- [MongoDB]Mongodb攻略
-------------------------------------------------------------------------------------------- [基础] 1. ...
- App lifecycle(UWP深入学习一)
https://msdn.microsoft.com/en-us/library/windows/desktop/br211474.aspx Launching, resuming, and back ...
- java抓取网页数据,登录之后抓取数据。
最近做了一个从网络上抓取数据的一个小程序.主要关于信贷方面,收集的一些黑名单网站,从该网站上抓取到自己系统中. 也找了一些资料,觉得没有一个很好的,全面的例子.因此在这里做个笔记提醒自己. 首先需要一 ...
- bootstrap中的Tooltips工具提示的使用问题
在使用bootstrap中的Tooltips时,官方文档中的实例代码若直接放在.container 或 .container-fluid类中时,四个button悬停之后会把button之间的margi ...