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 ...
随机推荐
- GridView中DropDownList
<asp:TemplateField HeaderText="下拉框"> <ItemTemplate> <cc1:MyDropDownList ID= ...
- Server Apache Tomcat v7.0 at localhost failed to start.
自己在学习servlet中,突然启动不了Tomcat7服务器,提示出现如下错误: 百度之后,没有找到解决办法,偶然发现是我的Web-content下--WEB-INF下--web.xml的配置文件内 ...
- ByteArrayInputStream和ByteArrayOutputStream
public class ByteArrayTest { public static void main(String[] args) throws IOException { read(write( ...
- HDU 3974 Assign the task(dfs建树+线段树)
题目大意:公司里有一些员工及对应的上级,给出一些员工的关系,分配给某员工任务后,其和其所有下属都会进行这项任务.输入T表示分配新的任务, 输入C表示查询某员工的任务.本题的难度在于建树,一开始百思不得 ...
- 揭开HTTP网络协议神秘面纱系列(三)
HTTP首部字段有四种类型:通用首部字段,请求首部字段,响应首部字段,实体首部字段. 通用首部字段: 首部字段 说明 Cache-Control 控制缓存的行为 Connection 逐跳首部.连接的 ...
- 剑指offer题目1-10
面试题3:二维数组中的查找 public class Solution { public boolean Find(int [][] array,int target) { boolean isFou ...
- 第四章 Leader选举算法分析
Leader选举 学习leader选举算法,主要是从选举概述,算法分析与源码分析(后续章节写)三个方面进行. Leader选举概述 服务器启动时期的Leader选举 选举的隐式条件便是ZooKeepe ...
- [MOSEK] Mosek求解中遇到的奇葩内存问题
在使用mosek优化库的时候,使用http://docs.mosek.com/7.0/capi/MSK_getxx_.html的 MSKrescodee MSK_getxx ( MSKtask_t t ...
- 管理表空间和数据文件<六>
数据库管理 -- 管理表空间和数据文件 介绍 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,表 空间由一个或多个数据文件组成. 数据库 ...
- linux 系统下开机自动启动oracle 监听和实例 (亲测有效)
[oracle@oracle11g ~]$ dbstartORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listene ...