Ext의 CheckboxSelectionModel 기본 선택
원리: 선택하거나 취소할 때 RecordIds로 선택한 Record의 키 id 값을 저장하거나 삭제합니다. 매번store에서 불러오기(load 이벤트)가 끝난 후에store를 훑어보고 모든 Record의 키 열 id가 recordIds에 있는지 비교합니다. 존재하면 임시 변수 records에 Record를 저장하고 마지막으로selMod를 호출합니다.selectRecords(records, true);Array의 remove와contains를 쓰는 방법은 약간java와 비슷하다.util.HashSet(Array에 중복된 값을 저장하지 않음)
function RemoveArray(array,attachId){
for(var i=0,n=0;i<array.length;i++){
if(array[i]!=attachId){
array[n++]=array[i]
}
}
array.length -= 1;
}
function containsArray(array,attachId){
for(var i=0;i<array.length;i++){
if(array[i]==attachId){
return true;
break;
}
}
return false;
}
Array.prototype.remove = function (obj) {
return RemoveArray(this,obj);
};
Array.prototype.contains = function (obj) {
return containsArray(this,obj);
};
var recordIds=new Array();// Record id
var recordsChecked=new Array();// Record
var store = new Ext.data.JsonStore({
url : 'viewXXX.do',
pruneModifiedRecords : true,
totalProperty : 'totalProperty',
root : 'root',
fields : [{name : 'id'},
{name : 'status'}
],
listeners : {
load : function() {
var records = new Array();
store.each(function(record) {
if (recordIds.contains(record.data.id))
records.push(record);
});
selMod.selectRecords(records, true);// load ,
}
}
});
var selMod = new Ext.grid.CheckboxSelectionModel({
handleMouseDown : Ext.emptyFn,
listeners : {
"rowdeselect" : {
fn : function(e, rowIndex, record) {
if (recordIds.contains(record.data.id)) {
recordIds.remove(record.data.id);
recordsChecked.remove(record);
}
}
},
"rowselect" : {
fn : function(e, rowIndex, record) {
if (!recordIds.contains(record.data.id))
recordIds.push(record.data.id);
recordsChecked.push(record);
}
}
}
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기능 재검토(프로토타입 아님) 🤥빠른 수정을 위한 몇 가지 참고 사항 사용자 지정 속성이 있는 함수 이것은 대부분의 경우 런타임 바인딩이므로 someKey는 aFunction 또는 aFunction.prototype의 속성이 아닙니다. 접두사 cu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.