2018-06-03 22:26:41 +08:00

79 lines
3.6 KiB
JavaScript

function TablePage(tableId,rowCount,displayPageSize,pageCount,curPage){
this.tableId = tableId;
this.rowCount = rowCount;
this.displayPageSize = displayPageSize;
this.pageCount = pageCount;
this.curPage = curPage+1;
//alert(this.curPage);
}
TablePage.from = "";
//获得需要显示的首尾页码
TablePage.prototype.getShowPages = function(){
var firstPage = this.curPage - Math.round(this.displayPageSize/2) + 1;
//alert(firstPage);
var lastPage = this.curPage + Math.round(this.displayPageSize/2);
if(this.pageCount<this.displayPageSize){
firstPage = 1;
lastPage = this.pageCount;
}
else if(firstPage<1){
firstPage = 1;
lastPage = this.displayPageSize;
}
else if(lastPage>this.pageCount){
lastPage = this.pageCount;
firstPage = this.pageCount - this.displayPageSize+1;
}
//alert(firstPage + "|" + lastPage);
return [firstPage,lastPage];
};
TablePage.prototype.createPageHTML = function(my_sortorder,sort_which){
var resultArray = new Array();
myobjname = this.tableId;
resultArray[resultArray.length]=('<div class="list_page_topdiv" id="Page_'+ this.tableId +'">');
resultArray[resultArray.length]=('<div class="list_page_subdiv">');
//输出上一页
var sCssPrePage = "list_page_nextpage";
if(this.curPage<=1)sCssPrePage = "list_page_nolink";
resultArray[resultArray.length]=('<span class="'+ sCssPrePage +'" onclick="if(this.className!=\'list_page_nolink\')parent.MR1_s(\''+myobjname+'\',2,'+my_sortorder+','+sort_which+')">'+TablePage.PageTexts["上一页"]+'</span>');
//页数输出
var showPages = this.getShowPages();
for(var i=showPages[0];i<=showPages[1];i++){
if(i==this.curPage)
resultArray[resultArray.length]=('<span class="list_page_current">'+ i +'</span>');
else
resultArray[resultArray.length]=('<a href="javascript:void(0);" onclick="parent.TablePage.changePage('+i+','+my_sortorder+','+ sort_which+',event)"><span>'+ i +'</span></a>');
}
//输出下一页
var sCssNextPage = "list_page_nextpage";
if(this.curPage>=this.pageCount)sCssNextPage = "list_page_nolink";
resultArray[resultArray.length]=('<span class="'+ sCssNextPage +'" onclick="if(this.className!=\'list_page_nolink\')parent.MR1_s(\''+myobjname+'\',3,'+my_sortorder+','+sort_which+')">'+TablePage.PageTexts["下一页"]+'</span>');
//输出页码及其他信息
resultArray[resultArray.length]=('<span class="list_page_pageinfo">'); // 1样式按钮用
resultArray[resultArray.length]=(TablePage.PageTexts["共pageCount页 rowCount条"].replace("pageCount", this.pageCount).replace("rowCount", this.rowCount)+'&nbsp;');
resultArray[resultArray.length]=(TablePage.PageTexts["到第Page页"].replace("Page", "<input type=text name=txtJump_s id=txtJump_s class='GdJumpInput' onmousedown=parent.AsLink.stopEvent(event) onkeyup=parent.AsLink.stopEvent(event) onkeydown='javascript:parent.MR1_s(\""+myobjname+"\",5,"+my_sortorder+","+sort_which+", null, event)'>"));
resultArray[resultArray.length]=("<input type=button value='"+TablePage.PageTexts["确定"]+"' onclick=javascript:parent.TablePage.changePage(undefined,"+my_sortorder+","+ sort_which+",event) >");
resultArray[resultArray.length]=("</span>");
resultArray[resultArray.length]=('</div>');
resultArray[resultArray.length]=('</div>');
return resultArray.join("");
};
TablePage.changePage = function(pageno,my_sortorder,sort_which,evt){
var obj = frames["myiframe0"].document.getElementById('txtJump_s');
if (pageno)
obj.value = pageno;
TablePage.fireEvent(obj,"onkeydown");
};
TablePage.fireEvent= function(obj,eventtype){
if(document.all){
obj.fireEvent(eventtype);
}else{
var evt = document.createEvent('HTMLEvents');
evt.initEvent(eventtype.substring(2),true,true);
obj.dispatchEvent( evt );
}
};