easyui datagrid自定义复选框

easyui datagrid自定义复选框,实现审批后隐藏复选框,多选和全选的问题

    $(function () {var IsCheckFlag = true;$('#WaitPactList').datagrid({url: '@Url.Action("GetWaitPactList")',width:SetGridWidthSub(70),methord: 'post',height: SetGridHeightSub(160),fitColumns: true,sortName: 'CreateDate',sortOrder: 'desc',idField: 'Id',pageSize: 15,pageList: [15, 20, 30, 40, 50],pagination: true,striped: true, //奇偶行是否区分singleSelect: false,//单选模式//checkOnSelect: true,//selectOnCheck: true,checkOnSelect: false,selectOnCheck: false,columns: [[//{ field: 'Id', title: 'Id', width: 80, checkbox: true },{ field: 'Id', title: 'Id', width: 80, hidden: true },{ field: 'PactName', title: '合同名称', width: 80, sortable: true },{ field: 'PactNum', title: '合同编号', width: 80, sortable: true },{ field: 'CustomerName', title: '客户名称', width: 80, sortable: true },{ field: 'MUser_UserName', title: '客户经理', width: 80, sortable: true },{field: 'IsSeal', title: '状态', align: 'center', width: 80, sortable: false,formatter: function (value, row, index) {if (row.IsSeal == "0") {return "未盖章";} else if (row.IsSeal == "1") {return "已盖章";}}},{field: 'option', title: '', align: 'center', width: 80, sortable: false,formatter: function (value, row, index) {if (row.IsSeal == "0") {return '+row.Id+'" name="ckId" value="' + row.IsSeal + '" />';} else if (row.IsSeal == "1") {return '';}}}, ]],onLoadSuccess: function (data) {$('#GetWaitPactList').datagrid('clearChecked');//点击全选$("#ck_all").click(function () {if ($(this)[0].checked) {var names = document.getElementsByName("ckId");for (var i = 0; i < names.length; i++) {names[i].checked = true;var arr = $('#WaitPactList').datagrid('getData');for (let i = 0; i < arr.rows.length; i++) {let item = arr.rows[i];if (item.IsSeal == "0") {$('#WaitPactList').datagrid('selectRow', i);};}}}else {$("input[name='ckId']").attr("checked", false);var arr = $('#WaitPactList').datagrid('getData');for (let i = 0; i < arr.rows.length; i++) {let item = arr.rows[i];if (item.IsSeal == "0") {$('#WaitPactList').datagrid('unselectRow', i);};}}})//一个一个选$("input[name='ckId']").unbind().bind("click", function () {//总记录数var totolrows = $("input[name='ckId']").length;//选中的记录数var checkrows = $("input[name='ckId']:checked").length;//全选if (checkrows == totolrows) {$("#ck_all")[0].checked=true;}else {$("#ck_all")[0].checked = false;}});},onClickCell: function (rowIndex, field, value) {IsCheckFlag = false;},onSelect: function (rowIndex, rowData) {if (!IsCheckFlag) {IsCheckFlag = true;$("#GetWaitPactList").datagrid("unselectRow", rowIndex);}if (rowData.IsSeal == "1") {$(this).datagrid('unselectRow', rowIndex);}if (rowData.IsSeal == "0") {//$("input[data-category='" + rowData.Id + "']").checked = true;$("[data-category*='" + rowData.Id + "']")[0].checked = true;}//总记录数var totolrows = $("input[name='ckId']").length;//选中的记录数var checkrows = $("input[name='ckId']:checked").length;//全选if (checkrows == totolrows) {$("#ck_all")[0].checked = true;}else {$("#ck_all")[0].checked = false;}},onUnselect: function (rowIndex, rowData) {if (!IsCheckFlag) {IsCheckFlag = true;$("#GetWaitPactList").datagrid("selectRow", rowIndex);}if (rowData.IsSeal == "0") {$("[data-category*='" + rowData.Id + "']")[0].checked = false;}//总记录数var totolrows = $("input[name='ckId']").length;//选中的记录数var checkrows = $("input[name='ckId']:checked").length;//全选if (checkrows == totolrows) {$("#ck_all")[0].checked = true;}else {$("#ck_all")[0].checked = false;}}});});

小编在上述代码中很多地方为复选框修改状态的地方都是获取的对象+[0].checked=true,这和很多其他博主的帖子存在不同,小编是通过console.log(复选框对象)在页面上查看才知道的,如下图
在这里插入图片描述
在这里插入图片描述

$("#btnPactSeal").click(function () {var row = $('#WaitPactList').datagrid('getSelections');if (row != null && row.length > 0) {var i = 0;var Ids = "";for (i = 0; i < row.length; i++) {Ids += row[i].Id;if (i < row.length - 1) {Ids += ',';} else {break;}}console.log(Ids)@*$.post("@Url.Action("Edit")?Ids=" + Ids + "&type=1", function (data) {if (data.type == 1)$("#WaitPactList").datagrid('load');GetWaitPactCount();$.messageBox5s('@Resource.Tip', data.message);}, "json");*@} else { $.messageBox5s('@Resource.Tip', '@Resource.PlaseChooseToOperatingRecords'); }
});

解决方法很多,bug也很多,总是要经历弯弯绕绕,然后能力才会有所提升

用对方法才有效率,做对事情才有效果
“麻烦”是自己“处理”不当的结果
“困难”是自己“学习”不够的反射
“挫折”是自己“努力”不足的代价


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部