在做项目中,用到的easyui中datagrid中在通过设置选择为单选数据后,点击选择一条数据,再选择其他一条数据原来的就不选中,但我想要的效果是在easyui提供的基础上第一次点击一条数据后选中,再点击该条数据不选中,但发现easyui并没有提供该方法,通过搜素了解到其实可以重写easyui的原有方法,但是一来我刚接触easyui不久,比较小白,而来又拍影响后面类似功能的使用,于是我就自己写了一个判断的方法,现在将其记录下来,以防后面用到,也欢迎大家指教。
var IsCheckFlag=false;//是否选中的标志
var rowIndexTo;//保存当前保存的是那条数据
var changeLayoutId = new Array();//改变的布局节点
var changePartId = new Array();//改变的布局节点的所有零件id,以布局节点id=有零件id大大形式
var changetrProjectLayoutId = new Array();
$('#selectedPart').datagrid({
striped:true,
rownumbers:true,
nowrap:false,
multiSort:true,
singleSelect:true,
fitColumns:true,
selectOnCheck:false,
checkOnSelect:false,
remoteSort:true,
fit:true,
url:'weldingBomInstanceAction!listSelectedUpload.act',
queryParams:{"selectedUploadIds":'${uploadIds}',"bopTmDataSet.id":'${bopTmDataSet.id}'},
onAfterEdit:function(index, row, changes){
},
onSelect: function (rowIndex, rowData) {
if(!IsCheckFlag){
IsCheckFlag = true;
rowIndexTo=rowIndex;
}else if(rowIndexTo==rowIndex){
IsCheckFlag = false;
$('#selectedPart').datagrid("unselectRow",rowIndex);
}else{
IsCheckFlag = false;
}
},
columns:[[
{field:'id',title:a',hidden:true},
{field:'aa',title:b',width:'19%'},
{field:'bb',title:'c',width:'19%'},
{field:'cc',title:"d ",width:'19%', sortable:false },
{field:'dd',title:"e",width:'19%', sortable:false },
{field:'ee',title:"f",width:'21%', sortable:false},
]]
});