/**
* 为Datasetä¸çè®°å½å¢å åºå·åè½ï¼å³æ¯æ¡è®°å½å
·æä¸ä¸ªå«åindexçå段ï¼
* å
¶å¼ä¸ºè¯¥è®°å½å¨datasetä¸ç顺åºï¼1为第ä¸ä¸ªåºå·ï¼ä¾æ¬¡ä¸º2,3...ï¼
* é常å¯ä»¥å°index设置为èå段,dataType="int",readOnly=trueï¼
* å¦æ该åè½ä½¿ç¨å¨DataTableä¸ï¼å¯ä»¥å¢å ä¸ä¸ªä¸index对åºçåï¼å¯è½ä¹å°±åindexï¼
* 1.å¦ä½åé
æ°è®°å½çåºå·
* increaseæ¹å¼ï¼åå½å页记å½çæ大åºå·+1ï¼
* orderæ¹å¼ï¼éæ°åé
å½å页ä¸ææè®°å½çåºå·ï¼
* æ¯è¾ï¼ç±äºdatasetæ·»å è®°å½å
·æbefore,after,begin,endåç§æ¹å¼ï¼å¦æ使ç¨é»è®¤çendæ¹å¼ï¼
* é£ä¹ä½¿ç¨increaseæ¹å¼å°±å¯ä»¥äºï¼å¦æ使ç¨å
¶ä»æ¹å¼ï¼é£ä¹æ°å¢å çè®°å½æå¯è½ä¸æ¯æåä¸æ¡
* è®°å½ï¼ä½¿ç¨orderæ¹å¼å¯ä»¥ä¿è¯åºå·æç
§è®°å½ç顺åºéæ¸å¢å¤§ï¼
* 2.å é¤è®°å½ååºå·çåå¨æ¹å¼
* nothingæ¹å¼ï¼ä»ä¹é½ä¸åï¼
* orderæ¹å¼ï¼éæ°åé
å½å页ä¸ææè®°å½çåºå·ï¼
* æ¯è¾ï¼å é¤è®°å½åå©ä¸çè®°å½çåºå·ä¸æ¯è¿ç»çäºï¼å¦æå¸æè¿æ¯è¿ç»çï¼å¯ä»¥ä½¿ç¨orderæ¹å¼ï¼
* 3.翻页ååºå·çåé
æ¹å¼
* beginæ¹å¼ï¼ä»1å¼å§åé
ï¼
* orderæ¹å¼ï¼æç
§å
¨é¨è®°å½æ»æ°æ¹å¼åé
ï¼ä¾å¦ï¼pageSize=10ï¼é£ä¹ç¬¬ä¸é¡µä»21å¼å§åé
ï¼
* 说æï¼ç±äºDataTableçrowDraggable=trueæ¶ï¼å¯ä»¥ææ½rowèæ¹årecordç顺åºï¼ä½æ¯è¿ä¸ªå¨ä½
* 没æ触åä»»ä½doradoäºä»¶ï¼æ以æ æ³è°ç¨DatasetIndex.rebuild(dataset)æ¹æ³éæ°æ¶åºå·æåºï¼
* @constructor
* @param {Dataset} ds éè¦æ·»å åºå·åè½çDataset
* @param {JSON} mode åºå·åè½çå·¥ä½æ¨¡å¼
* @param mode.insertMode [mode.insertMode="increase"] 为æ°è®°å½åé
åºå·çæ¹å¼
* @param mode.deleteMode [mode.deleteMode="nothing"] å é¤è®°å½ååºå·çåå¨æ¹å¼
* @param mode.pageMode [mode.pageMode="page"] 翻页ååºå·çåé
æ¹å¼
*
* @author
[email protected] * @since 2008-8-11
* @version 0.8
*/
function DatasetIndex(ds,mode){
this.dataset=ds;
ds.indexf=this;
this.minIndex=this.maxIndex=0;
this.mode=mode;
this.finalPageIndex=ds.getPageIndex();
EventManager.addDoradoEvent(ds,"afterInsert",DatasetIndex.rebuildAfterInsert);
EventManager.addDoradoEvent(ds,"afterDelete",DatasetIndex.rebuildAfterDelete);
EventManager.addDoradoEvent(ds,"afterFlushData",DatasetIndex.rebuildAfterFlush);
};
DatasetIndex.prototype={
/**
* éæ°åé
å½å页ä¸ææè®°å½çåºå·
*/
build:function(){
var ds=this.dataset;
var s,d,i=this.getBaseIndex(),r=ds.getFirstRecord();
this.minIndex=i;
ds.disableEvents();
while (r) {
s=r.getState(); d=r.isDirty();
r.setValue("index",++i);
r.setState(s); r.setDirty(d);
r = r.getNextRecord();
}
ds.enableEvents();
this.maxIndex=i;
},
/**