`
kanpiaoxue
  • 浏览: 1744799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

easyui datagrid checkbox 多选获取的数据不正确

 
阅读更多

问题描述:easyui datagrid checkbox进行多选的时候,获取的数据与选择的数据不一致,有的时候一条数据,有的时候多条数据。

根源:easyui datagrid 设置了 idField 列造成的。

解决:使用好 idField 列,或者去掉这个配置。

如下:

	$('#dg_taskgrid')
			.datagrid(
					{
						remoteSort : true,
						/*toolbar : [ {
							text : '批量修复',
							iconCls : 'icon-batch-repair',
							handler : function() {
								batchRepairAction();
							}
						} ],*/
						
						toolbar : '#tb_ops',
						singleSelect: false,
                        checkOnSelect : false,
                        selectOnCheck : false,
						title : '任务列表',
						fitColumns : true, // 设置列宽度自适应屏幕
						iconCls : 'icon-task-list',
						striped : true,
						url : basePath + 'web/op/queryTaskLog',
						method : 'get',
						width: $(window).width()*0.9,
						pageNumber : 1,
						pageSize : baseNum, // 设置默认分页大小
						pageList : pageList, // 设置分页大小
						idField : 'versionId',
						columns : [ [
                                {
                                    checkbox : true
                                },
										 
								{
									field : 'taskId',
									title : '任务ID',
									width : 40,
									align : 'center',
									sortable : true
								},
								{
									field : 'taskName',
									title : '任务名称',
									width : 80,
									align : 'center',
									sortable : false,
									formatter : function(val, row, rowIndex) {
										var taskName = val;
										var taskId = row.taskId;
										var length = 40;
										var showTaskName = suitableLengthText(
												taskName, length);
										var arr = [];
										arr
												.push('<a href="javascript:void(0);" title="');
										arr.push(taskName);
										arr.push('" class="'
												+ SHOW_FIRST_TOOLTIP_CLASS
												+ '" onclick="openTaskDeatil(');
										arr.push(taskId);
                                        arr.push(',2)">');
										arr.push(showTaskName);
										arr.push('</a>');
										return arr.join('');

									}
								}, 
								
								{
				                    field : 'versionNo',
				                    title : '数据版本',
				                    width : 30,
				                    align : 'center',
				                    sortable : true
				                },
				                {
									field : 'state',
									title : '版本状态',
									width : 30,
									align : 'center',
									sortable : true,
									formatter : versionStateFormat
								}, 
				                {
				                    field : 'startTime',
				                    title : '运行开始时间',
				                    width : 40,
				                    align : 'center',
				                    sortable : true,
				                    formatter : function(val, row, rowIndex) {
				                        if (null == val) {
				                            return '-';
				                        } else {
				                            return val;
				                        }
				                    }
				                },
				                {
				                    field : 'endTime',
				                    title : '运行结束时间',
				                    width : 40,
				                    align : 'center',
				                    sortable : true,
				                    formatter : function(val, row, rowIndex) {
				                        if (null == val) {
				                            return '-';
				                        } else {
				                            return val;
				                        }
				                    }
				                },
				                {
									field : 'elapsedLabel',
									title : '运行耗时',
									width : 20,
									align : 'center',
									sortable : false
								}, 
				                {
				                    field : 'message',
				                    title : '信息',
				                    width : 80,
				                    align : 'left',
				                    sortable : false,
				                    formatter : function(val, row, rowIndex) {
				                        var length = 30;
				                        var showVal = suitableLengthText(val,
				                            length);
				                        var arr = [];
				                        arr.push('<span class="'
				                            + SHOW_FIRST_TOOLTIP_CLASS
				                            + '" title="');
				                        arr.push(val);
				                        arr.push('">');
				                        arr.push(showVal);
				                        arr.push('</span>');
				                        return arr.join('');
				                    }
				                },{
									field : 'teamName',
									title : '团队名称',
									width : 30,
									align : 'center'
								},  {
									field : 'op',
									title : '操作',
									//width : 40,
									align : 'center',
									formatter : formatOp,
									sortable : false
								} ] ],
						pagination : true,
						queryParams : {
							filters : params
						},
						onLoadSuccess : function(data) {
							addToolTips(SHOW_FIRST_TOOLTIP_CLASS);
						}
					});

};

 

附加 checkbox的多选函数:

function batchKillTaskAction(){
    // FIXME 20150709
    var checkedItems = $('#dg_taskgrid').datagrid('getChecked');
    var arr = [];
    $.each(checkedItems, function(index, item){
        var str = item.taskId + ':' + item.versionNo;
        arr.push(str);
    });
    console.log('arr:'+arr.length+' --> '+arr.join(','))
}

 

分享到:
评论

相关推荐

    jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法

    主要介绍了jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法,涉及jQuery插件EasyUI相关属性设置技巧,需要的朋友可以参考下

    在DataGrid中使用CheckBox,实现全选功能

    NULL 博文链接:https://taomujian.iteye.com/blog/294748

    DataGrid自定义列标题

    DataGrid自定义列标题 DataGrid自定义列标题 DataGrid自定义列标题 DataGrid自定义列标题 DataGrid自定义列标题

    基于easyui checkbox 的一些操作处理方法

    1、获取已勾选的行: var rows = $(‘#datagrid’).datagrid(‘getChecked’); 2、判断checkbox是否全选: ...以上这篇基于easyui checkbox 的一些操作处理方法就是小编分享给大家的全部内容了,希望能给大家一个参

    ASP.NET MVC使用EasyUI的datagrid多选提交保存教程

    需要实现EasyUI的datagrid组件加入选择checkbox列,并提交后台批量添加的功能,页面代码如下: 代码如下: [removed] $(function() { //searchbox $(‘#selectgoods-keywords’).searchbox({ searcher: function(val,...

    EasyUI tutorial 中文版 chm

    easyUI 添加CheckBox选择到DataGrid easyUI自定义DataGrid分页栏 启用DataGrid行内编辑器 继承扩展DataGrid的editors easyUI在可编辑的datagrid中计算两列的值 easyUI合并DataGrid单元格 easyUI为...

    9款表单复选框(Checkbox)与单选按钮美化

    插件描述:9款表单复选框(Checkbox)与单选按钮美化. 参考示例:http://www.jq22.com/jquery-info5907

    easyui-textbox和easyui-combobox的onchange事件响应实例

    这是我自己总结出来easyui-textbox和easyui-combobox的onchange事件响应实例,绝对可用,网上很多实例都无法运行,这个我亲自测试可用使用才传上来的,供大家参考学习。

    EasyUI DataGrid Demo

    1、此demo适合初次学习easyui 2、DEMO中内含client端和server端的简单交互 3、server端非常简单的使用servlet和jdbc连接 ...5、datagrid中使用了checkbox,textbox,combobox。 6、combobox 实现了模糊查询

    设置checkbox为只读(readOnly)的两种方式

    设置checkbox为只读的方法有很多,在本文为大家详细介绍下两种比较实用的方法,感兴趣的朋友不要错过

    easyui jQuery EasyUI

    CheckBox select on DataGrid Custom DataGrid Paging Enable DataGrid Inline Editing Calculate two column values in editing DataGrid Merge DataGrid Cells Create Custom View for DataGrid Displaying...

    jquery easyui DataGrid简单示例

    一、简单示例 HTML 标题 idfield=ID checkbox=true url=@Url.Action(ListData)&gt; &lt;th field=ID checkbox=true width=30&gt; &lt;th field=Name width=200 align=center&gt;

    EasyUI入门教程--第01课_EasyUI简介.avi

    第10课(datagrid增加、删除、修改功能,结合后台讲解,怎样获得增加或删除的数据,怎样传递到后台,如果添加或修改不成功,怎样回滚操作,后台操作成功,保持状态等。和清空datagrid的简单方法。) 第11课(介绍一些...

    jeasyui的dataGrid的打印和导出,jeasyui报表 table转成excel 实例下载

    如题,项目要用到jeasyui,所以必须要下载它的demo,获取相应的js,css等等的文件 jeasyui的下载地址:http://www.jeasyui.com/download/index.php &lt;!DOCTYPE ...

    jQuery_EasyUI_中文教程 pdf

    使用checkbox,用户可以选定/取消数据行。 添加checkbox列,我们简单的添加列的checkbox属性,并且设置为true。代码像这样: &lt;table id="tt"&gt;&lt;/table&gt; $('#tt').datagrid({ title:'Checkbox Select', iconCls:'...

    EasyUI入门教程--第03课_parser组件panel组件及如何使用组件自带的属性、事件、方法.avi

    第10课(datagrid增加、删除、修改功能,结合后台讲解,怎样获得增加或删除的数据,怎样传递到后台,如果添加或修改不成功,怎样回滚操作,后台操作成功,保持状态等。和清空datagrid的简单方法。) 第11课(介绍一些...

    SYPRO示例项目源码和EasyUI入门视频教程

    第10课(datagrid增加、删除、修改功能,结合后台讲解,怎样获得增加或删除的数据,怎样传递到后台,如果添加或修改不成功,怎样回滚操作,后台操作成功,保持状态等。和清空datagrid的简单方法。) 第11课(介绍一些...

    Jquery_EasyUI教程

    • 6 DataGrid 数据格 23 o 6.1 转换HTML表格到DataGrid 23 o 6.2 给DataGrid添加分页 25 o 6.3 得到DataGrid选择行 27 o 6.4 添加工具栏到DataGrid 28 o 6.5 DataGrid冻结列 30 o 6.6 动态改变DataGrid列 31 ...

    jQuery_EasyUI教程

    • 6 DataGrid 数据格 23 o 6.1 转换HTML表格到DataGrid 23 o 6.2 给DataGrid添加分页 25 o 6.3 得到DataGrid选择行 27 o 6.4 添加工具栏到DataGrid 28 o 6.5 DataGrid冻结列 30 o 6.6 动态改变DataGrid列 31 o 6.7 ...

Global site tag (gtag.js) - Google Analytics