上面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分组后勾选问题的更多相关文章

  1. EasyUI Datagrid换页不清出勾选方法

    在1.4版本后: 只要在datagrid中加入   idField:'id',给每条数据id属性,easyui就默认就会保留之前勾选的信息 如果没有id,才会出现换页后,之前勾选的信息没有的情况

  2. easyui datagrid 中序列化后的日期格式化

    1.在easyui datagrid 中序列化后的日期显示为:/Date(1433377800000)/ 2.格式化后的显示为: 2015-06-04 08:30:00 3.使用代码如下: 3.1. ...

  3. easyui datagrid 让某行复选框置灰不能选

    easyui中datagrid 让某行复选框置灰不能进行选中操作,以下为主要部分的code. //加载完毕后获取所有的checkbox遍历 onLoadSuccess: function(data){ ...

  4. jquery easyui datagrid翻页后再查询始终从第一页开始

    在查询之前将datagrid的属性pageNumber重新设置为1 var opts = grid.datagrid('options'); opts.pageNumber = 1; easyui d ...

  5. JQuery EasyUI DataGrid获取当前行或选中行

    1.获取当前选中行,如果没有选中行,则返回 null var row = $('#gridID').datagrid('getSelected'); 2.获取当前所有选中行数据,返回元素记录的数组数据 ...

  6. EasyUI datagrid 序列 化后时间 处理 九

    @{ ViewBag.Title = "Home Page"; Layout = null; } <!DOCTYPE html> <html> <he ...

  7. EasyUI Datagrid 数据网格 点击选中行 再次单击取消选中行

    适用于jquery-easyui-1.9.15版本: 在项目中全局搜索: opts.singleSelect==true 或者在jquery.easyui.min.js中搜索: opts.single ...

  8. easyui datagrid editor combobox添加空选则清空combobox框

    <script type='text/javascript'> var editIndex = undefined; $(function() { $('#tb1').datagrid({ ...

  9. datagrid加分组后的效果

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd8AAADdCAIAAAB13e+wAAAZgElEQVR4nO2d/28b533Hn7+APxnYgL ...

随机推荐

  1. 在WINDOWS上安装oracle database 11

    1:在CD-ROM中插入oracle database 11G安装盘会自动运行程序,打开[欢迎使用]窗口 2:弹出[选择安装类型] 3:弹出[制定主目录详细信息]‘oracle基目录’:用于设置环境变 ...

  2. stream_copy_to_stream的使用

    stream_copy_to_stream - 在数据流之间进行复制操作 例子: <?php //读写方式 $stream = fopen('php://temp', 'w+'); //如果成功 ...

  3. 問題排查:建立選單時的錯誤 errcode:40016, errmsg:invalid button size hint: [RI68La0851vr18]

    可能原因: 1.如提示所說,第一層選單個數超過限制 (最多3個) 2.選單的 json 格式有誤,目前已知少了括弧會提示此錯誤

  4. 使用并行的方法计算斐波那契数列 (Fibonacci)

    更新:我的同事Terry告诉我有一种矩阵运算的方式计算斐波那契数列,更适于并行.他还提供了利用TBB的parallel_reduce模板计算斐波那契数列的代码(在TBB示例代码的基础上修改得来,比原始 ...

  5. Android.技术站点

    总结Android相关的技术站点和blog 1. http://android-developers.blogspot.com/ 首推这个blog,有时间需要每篇blog读一遍. 2. nlopez ...

  6. Hibernate之创建命名策略

    在开发软件时,通常会要求每个开发人员遵守共同的命名策略.例如,数据库的表名及字段名的所有字符都要大写,表名以“S”结尾.对于Customer类,对应的数据库表名为CUSTOMERS.为了在映射文件中遵 ...

  7. 实现关闭窗口IE不提示兼容火狐

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  8. 水果项目第1集-想法>需求->功能->数据库设计->类设计

    懒,懒人,我是个懒人. 懒人想做点事,总是拖拖拉拉,迟迟没有开始. 很久很久以前,就想做属于自己的产品,但是至今还没有一个属于自己的产品. 两年前,终于想好,要做一个网上卖水果的系统,手机上点点,水果 ...

  9. Attributes:文本属性 和NSAttributedString

    前言: 有一些控件无法直接设置文本大小,需要使用方法 setTitleTextAttributes 来设置文本属性 UIFont 字体样式 [UIFont fontWithName~]; iOS- 详 ...

  10. ubuntu工具积累

    1.sudo apt-get install terminator一款可以切分终端窗口的工具 a.在系统>键盘>快捷键修该ctrl+alt+t快捷应用为terminator,其他的快捷键同 ...