79 lines
3.6 KiB
JavaScript
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)+' ');
|
|
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 );
|
|
}
|
|
}; |