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 ...
随机推荐
- PHP验证码参考页面
http://blog.sina.com.cn/s/blog_95ee14340100z8q9.html http://www.jb51.net/article/44951.htm
- 《CSS3秘籍》(第三版)-读书笔记(2)
第6章 文本格式化 1. 使用字体 字体font-family: 通用的字体样式: serif字体最适用于冗长的文字信息.这种字体使字母主笔画的结尾处会有一些细小的“足”. sans-serif字体 ...
- 多重背包问题:POJ2392
这是一道完全背包问题,只不过增加了限制条件. 在更新最大值的时候,我注释掉了错误的方式,却不明白为什么是错误的,如果有人看到这篇博客,并且知道为什么那样更新是错误的,请指教,谢谢. 上代码: #inc ...
- OSIC Performance Bot
https://github.com/lbragstad/keystone-performance
- Eclipse安装配置以及java项目和类的创建
1.Eclipse的安装: 双击此应用程序 进入安装界面 选择下一步 更改路径将此默认路径改为 确定之后下一步更改jre的安装路径 在之前安装的java文件夹下新建一个jre文件夹 将jre安装在里边 ...
- 利用Java自带的MD5加密
package test.md5; import java.security.MessageDigest; public class MD5Util { public final static Str ...
- Quartz任务调度快速入门(转)
转自http://www.blogjava.net/baoyaer/articles/155645.html 概述 了解Quartz体系结构 Quartz对任务调度的领域问题进行了高度的抽象,提出了调 ...
- UIView的剖析(转)
转自:http://blog.csdn.net/mengtnt/article/details/6716289 前面说过UIViewController,但是UIView也是在MVC中非常重要的一层 ...
- github 仓库管理
一.远程仓库有master和dev分支1. 克隆代码 git clone https://github.com/master-dev.git # 这个git路径是无效的,示例而已 2. 查看所有分支 ...
- 对于C++窗口编译一闪而过的解决方法 (DEV CPP下)
对于C++窗口编译一闪而过的解决方法 首先来看一个简单的程序(编译环境为 DEV C++.): #include <iostream> int main() { std:: ...