⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagenavigationtool.java

📁 ecside jsp前途分页的标签 实现ajax 增删改查等
💻 JAVA
字号:
/*
 * Copyright 2006-2007 original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.ecside.table.tool;

import org.ecside.core.ECSideConstants;
import org.ecside.core.TableConstants;
import org.ecside.core.TableModel;
import org.ecside.util.HtmlBuilder;
import org.ecside.view.html.BuilderConstants;
import org.ecside.view.html.BuilderUtils;

/**
 * @author Wei Zijun
 *
 */

public class PageNavigationTool extends BaseTool {
	
	public PageNavigationTool(){
		super();
	}
	
	
	public PageNavigationTool(HtmlBuilder html,TableModel model) {
		super(html,model);
	}
	
    public void buildTool() {
    	
//    	if (nearPageNum<1) {
//    		getHtmlBuilder().td(1).styleClass("pageNavigationTool").nowrap().close();
//    	}else{
//    		getHtmlBuilder().td(1).styleClass("pageNavigationNearPageTool").nowrap().close();
//    		
//    	}
		
    	getHtmlBuilder().td(1).styleClass("pageNavigationTool").nowrap().close();
		firstPageItemAsButton();
		prevPageItemAsButton();
		getHtmlBuilder().tdEnd();
		
//    	String nearPageNumS=getTableModel().getTable().getNearPageNum();
//    	int nearPageNum=new Integer(nearPageNumS).intValue();
//		if (nearPageNum>0){
//	    	int page=getTableModel().getLimit().getPage();
//	    	int lastPage = BuilderUtils.getTotalPages(getTableModel());
//	    	int pi1=0;
//	    	int startP=page-nearPageNum;
//	    	int endP=page+nearPageNum;
//	    	
//			if ( startP<1){
//				endP=endP+(1-startP);
//				startP=1;
//			}
//			if ( endP>lastPage){
//				startP=startP-(endP-lastPage);
//				endP=lastPage;
//			}
//			startP=startP<1?1:startP;
//			
//			getHtmlBuilder().td(1).nowrap().styleClass("pageNavigationNearPageTool").close();
//			getHtmlBuilder().span().close();
//	    	for (pi1=startP;pi1<=endP;pi1++){
//	
//	    		if (pi1==page){
//	    			getHtmlBuilder().append(" <b>"+pi1+"</b> ");
//	    		}else{
//	    			getHtmlBuilder().append(" <a href=\"#\" onclick=\"").append(getPageNavAction(pi1)).append("return false;\" >"+pi1+"</a> ");
//	    		}
//	    	}
//	    	getHtmlBuilder().spanEnd();
//	    	getHtmlBuilder().tdEnd();
//		}
		
    	getHtmlBuilder().td(1).styleClass("pageNavigationTool").nowrap().close();
		nextPageItemAsButton();
		lastPageItemAsButton();
		getHtmlBuilder().tdEnd();
    }
    
    
    public void firstPageItemAsButton() {
    	
        boolean showTooltips = getTableModel().getTable().isShowTooltips();
    	boolean isEnabled=BuilderUtils.isFirstPageEnabled(getTableModel().getLimit().getPage());
	
    	
		getHtmlBuilder().input().type("button");
		
        String disabled=null;
        if (!isEnabled){
        	disabled="D";
            getHtmlBuilder().disabled();
        }else{
        	disabled="";
        }
        
		getHtmlBuilder().styleClass(TableConstants.FIRST_PAGE_CSS+disabled);
		getHtmlBuilder().onclick(getPageNavAction(1));
        if (showTooltips) {
        	getHtmlBuilder().title(getMessages().getMessage(BuilderConstants.TOOLBAR_FIRST_PAGE_TOOLTIP));
        } 
        

		getHtmlBuilder().xclose();
		


    }
    
    public void prevPageItemAsButton() {
    	int prevPage = getTableModel().getLimit().getPage()-1;
    	
    	
        boolean showTooltips = getTableModel().getTable().isShowTooltips();
    	boolean isEnabled=BuilderUtils.isPrevPageEnabled(getTableModel().getLimit().getPage());
    	
    	
    	
		getHtmlBuilder().input().type("button");
		
        String disabled=null;
        if (!isEnabled){
        	disabled="D";
            getHtmlBuilder().disabled();
        }else{
        	disabled="";
        }
        
		getHtmlBuilder().styleClass(TableConstants.PREV_PAGE_CSS+disabled);
		getHtmlBuilder().onclick(getPageNavAction(prevPage));
        if (showTooltips) {
        	getHtmlBuilder().title(getMessages().getMessage(BuilderConstants.TOOLBAR_PREV_PAGE_TOOLTIP));
        } 
		getHtmlBuilder().xclose();
		
		


    }
    
    public void nextPageItemAsButton() {
    	int nextPage = getTableModel().getLimit().getPage()+1;
    	int lastPage = BuilderUtils.getTotalPages(getTableModel());
    	
    	
        boolean showTooltips = getTableModel().getTable().isShowTooltips();
    	boolean isEnabled=BuilderUtils.isNextPageEnabled(getTableModel().getLimit().getPage(),lastPage);
    	
    	
		getHtmlBuilder().input().type("button");
		
        String disabled=null;
        if (!isEnabled){
        	disabled="D";
            getHtmlBuilder().disabled();
        }else{
        	disabled="";
        }
        
		getHtmlBuilder().styleClass(TableConstants.NEXT_PAGE_CSS+disabled);
		getHtmlBuilder().onclick(getPageNavAction(nextPage));
        if (showTooltips) {
        	getHtmlBuilder().title(getMessages().getMessage(BuilderConstants.TOOLBAR_NEXT_PAGE_TOOLTIP));
        } 
        if (!isEnabled){
            getHtmlBuilder().disabled();
        }
		getHtmlBuilder().xclose();
    	
       

    }
    
    public void lastPageItemAsButton() {
    	int lastPage = BuilderUtils.getTotalPages(getTableModel());
    	
   	
        boolean showTooltips = getTableModel().getTable().isShowTooltips();
    	boolean isEnabled=BuilderUtils.isLastPageEnabled(getTableModel().getLimit().getPage(),lastPage);
    	
    	
		getHtmlBuilder().input().type("button");
		
        String disabled=null;
        if (!isEnabled){
        	disabled="D";
            getHtmlBuilder().disabled();
        }else{
        	disabled="";
        }
        
		getHtmlBuilder().styleClass(TableConstants.LAST_PAGE_CSS+disabled);
		getHtmlBuilder().onclick(getPageNavAction(lastPage));
        if (showTooltips) {
        	getHtmlBuilder().title(getMessages().getMessage(BuilderConstants.TOOLBAR_LAST_PAGE_TOOLTIP));
        } 
        if (!isEnabled){
            getHtmlBuilder().disabled();
        }
		getHtmlBuilder().xclose();
      

    }
    
    public String getPageNavAction(int page) {
    	String formId=getTableModel().getTable().getTableId();
//    	String formAction=getTableModel().getTable().getAction();
//    	String formMethod=getTableModel().getTable().getMethod();
//    	String pageNoId=getTableModel().getTableHandler().prefixWithTableId()+TableConstants.PAGE;
    	
        StringBuffer action = new StringBuffer(ECSideConstants.UTIL_FUNCTION_NAME+".gotoPage(");

        action.append(page+",'"+formId+"'");
        
        action.append(");");
        
        
        String onInvokeAction = getTableModel().getTable().getOnInvokeAction();
        if (onInvokeAction!=null&&onInvokeAction.length()>0){
        	action.append(onInvokeAction);
        }

        
        return action.toString();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -