EasyUI中DataGrid的checkbox判断是否选中

序言

EasyUI中的DataGrid功能很强大,提供了非常丰富的属性、事件等方法等
EasyUI Datagrid 数据网格
但是有些功能使用不方便。例如提交表格所有数据,且后台更具数据的是否选中做区别处理
由于个人才疏学浅,采取曲线救国策略解决问题

解决处理

表格代码如下

('#dg').datagrid({
    url:'',
    singleSelect:true,
    checkOnSelect:false,
    selectOnCheck:false,
    columns:[[
		{field:'activeFlag',type:'checkbox' title:'',width:100},
		{field:'flowCode',title:'流程序号',width:100},
		{field:'flowDesc',title:'流程描述',width:100,align:'right'}
    ]]
});

获取数据

function GetData(){
	var $grid = $('#gridPhlFlow');
	var gridRows = $grid.datagrid('getRows');	//获取所有数据
	
	var chkRows=$grid.datagrid('getChecked');   //获取所有被选中的行
	var CodeArr=[];
    $.each(chkRows,function(i,data){
		CodeArr["Code"+data.flowCode]=""			
    })
    var dataArr = [];
    for (var i = 0; i < gridRows.length; i++) {
        var rowData = gridRows[i];
        var activeFlag=""; 
        var flowCode=rowData.flowCode;
        if(CodeArr["Code"+flowCode]==undefined){
	    	activeFlag="0"
	    }else{
			activeFlag="1"
		}	    
        var iJson = {
            flowCode: flowCode,
            activeFlag: activeFlag
        };
        dataArr.push(iJson);
    }
    return JSON.stringify(dataArr)
 }

首先,获取所有check数据行,将行的唯一标识flowCode创建对象。flowCode在所有数据不要重复就可以,也可以是其他字段
其次,遍历所有数据,对比dataArr 中是否有此数据

虽然办法很笨,但是解决问题,有好多的办法可以留言分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值