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 ...
随机推荐
- mongodb:短网址项目
短网址项目概述 1.短网址项目,是将给定的长网址,转换成短网址. 如 新浪 http://t.cn/zQd5NPw ,其中zQd5NPw就是短网址 前段页面如下
- zzulioj 1907小火山的宝藏交易(dfs记忆化搜索)
#include <stdio.h> #include <algorithm> #include <string.h> #include <vector> ...
- (转)C#中两个问号和一个问号 ??
小问题难倒很多人.今天发现了这个问题,搜了很长时间才看到记录下. 实例:dt.Columns.Add(firstRow.GetCell(i).StringCellValue ?? string.For ...
- 浅析Linux下进程间通信:共享内存
浅析Linux下进程间通信:共享内存 共享内存允许两个或多个进程共享一给定的存储区.因为数据不需要在客户进程和服务器进程之间复制,所以它是最快的一种IPC.使用共享内存要注意的是,多个进程之间对一给定 ...
- unreal3之FName及潜在bug
FName是unreal3里对字符串高效处理的一种机制 基本原理就是把字符串hash存起来,然后每个字符串就只需要用一个数组索引值来表示了 FName的属性: NAME_INDEX Index; IN ...
- SQL Server 建表语句
IF EXISTS(SELECT * FROM sys.Tables WHERE name='stu_info') DROP TABLE stu_infoGoCreate table stu_inf ...
- LeetCode OJ-- Remove Element
https://oj.leetcode.com/problems/remove-element/ 简单处理 class Solution { public: int removeElement(int ...
- JS实现隔行变色,鼠标移入高亮
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px ...
- webpack与gulp的区别及实例搭建
webpack是什么,提到这个概念,很多人可能立马说出来,模块化加载器兼打包工具,可以把各种资源都作为模块来使用和处理等等. 说到前端构建工具,不可避免的会提到gulp,到底webpack和gulp有 ...
- Setting SVN Repository Using TortoiseSVN + Dropbox in 5 Minutes
SVN is a very common version control system in software development. However configuring SVN server ...