亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tablelimit.java

?? ecside jsp前途分頁的標(biāo)簽 實(shí)現(xiàn)ajax 增刪改查等
?? JAVA
字號:
?/*
 * Copyright 2004 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.limit;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.ecside.core.ECSideContext;
import org.ecside.core.Preferences;
import org.ecside.core.TableConstants;
import org.ecside.core.TableModelUtils;
import org.ecside.preferences.PreferencesConstants;
import org.ecside.preferences.TableProperties;

/**
 * @author Jeff Johnston
 */
public final class TableLimit implements Limit {
    protected LimitFactory limitFactory;
    protected FilterSet filterSet;
    protected Sort sort;
    protected boolean exported;
    protected int rowStart;
    protected int rowEnd;
    protected int currentRowsDisplayed;
    protected int page;
    protected int totalRows;

    public TableLimit(LimitFactory limitFactory) {
        this.limitFactory = limitFactory;
        this.filterSet = limitFactory.getFilterSet();
        this.sort = limitFactory.getSort();
        this.page = limitFactory.getPage();
        this.exported = limitFactory.isExported();
    }

    public FilterSet getFilterSet() {
        return filterSet;
    }

    public int getRowEnd() {
        return rowEnd;
    }

    public int getRowStart() {
        return rowStart;
    }

    public Sort getSort() {
        return sort;
    }

    public int getPage() {
        return page;
    }

    public int getCurrentRowsDisplayed() {
        return currentRowsDisplayed;
    }

    public int getTotalRows() {
        return totalRows;
    }

    public boolean isFiltered() {
        return filterSet.isFiltered();
    }

    public boolean isCleared() {
        return filterSet.isCleared();
    }

    public boolean isSorted() {
        return sort.isSorted();
    }

    public boolean isExported() {
        return exported;
    }

    /**
     * When using the Limit you must call this method to set the following row
     * attributes: rowStart, rowEnd, currentRowsDisplayed and page
     * 
     * @param totalRows The total results for the table.
     * @param rowsDisplayed The default rows displayed on the table. This
     *            value is either defined on the table, or defaulted in the
     *            Preferences.
     */
    public void setRowAttributes(int totalRows, int rowsDisplayed) {
    	
    	
		if (rowsDisplayed == 0){
			rowsDisplayed=ECSideContext.DEFAULT_PAGE_SIZE;
		}else if (rowsDisplayed <0){
			rowsDisplayed = totalRows;
		}
		    	
        int currentRowsDisplayed = limitFactory.getCurrentRowsDisplayed(totalRows, rowsDisplayed);

        int page = getValidPage(this.page, totalRows, currentRowsDisplayed);

        int rowStart = (page - 1) * currentRowsDisplayed;

        int rowEnd = rowStart + currentRowsDisplayed;

        if (rowEnd > totalRows) {
            rowEnd = totalRows;
        }

        this.page = page;
        this.currentRowsDisplayed = currentRowsDisplayed;
        this.totalRows = totalRows;
        this.rowStart = rowStart;
        this.rowEnd = rowEnd;
        
        setTotalRows();
    }
    
	public void setTotalRows(){
		String tableId = limitFactory.getTableId();
		tableId = tableId == null ? "" : tableId + "_";
		limitFactory.getWebContext().setRequestAttribute(tableId + TableConstants.TOTAL_ROWS, 
				new Integer(totalRows));
	}
	

    /**
     * The page returned that is not greater than the pages that can display.
     */
    private int getValidPage(int page, int totalRows, int currentRowsDisplayed) {
        if (!isValidPage(page, totalRows, currentRowsDisplayed)) {
            return getValidPage(--page, totalRows, currentRowsDisplayed);
        }

        return page;
    }

    /**
     * Testing that the page returned is not greater than the pages that are
     * able to be displayed. The problem arises if using the state feature and
     * rows are deleted.
     */
    private boolean isValidPage(int page, int totalRows, int currentRowsDisplayed) {
        if (page == 1) {
            return true;
        }
        
        int rowStart = (page - 1) * currentRowsDisplayed;
        int rowEnd = rowStart + currentRowsDisplayed;
        if (rowEnd > totalRows) {
            rowEnd = totalRows;
        }
        return rowEnd > rowStart;
    }

    public String toString() {
        ToStringBuilder builder = new ToStringBuilder(this);
        builder.append("rowStart", rowStart);
        builder.append("rowEnd", rowEnd);
        builder.append("currentRowsDisplayed", currentRowsDisplayed);
        builder.append("page", page);
        builder.append("totalRows", totalRows);
        builder.append("exported", exported);
        builder.append("sort", sort);
        builder.append("filterSet", filterSet);
        return builder.toString();
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级视频在线观看| 欧美视频一区二区三区在线观看| 日韩欧美国产电影| 精品亚洲porn| 国产亚洲精品久| 不卡的电影网站| 国产精品国产三级国产aⅴ中文| 91视频一区二区| 亚洲成a天堂v人片| 日韩视频免费观看高清在线视频| 久久99日本精品| 国产精品三级久久久久三级| 色哟哟精品一区| 丝袜脚交一区二区| www久久精品| 91免费视频大全| 午夜伊人狠狠久久| 精品国精品自拍自在线| 成人高清视频免费观看| 亚洲成人黄色小说| 久久一日本道色综合| av爱爱亚洲一区| 日产欧产美韩系列久久99| 久久久精品人体av艺术| 色狠狠一区二区三区香蕉| 免费成人你懂的| 国产精品久久久久毛片软件| 666欧美在线视频| 国产精品一级片在线观看| 亚洲精品中文在线影院| 日韩欧美中文一区二区| jlzzjlzz欧美大全| 日韩av在线发布| 最近中文字幕一区二区三区| 91精选在线观看| 菠萝蜜视频在线观看一区| 亚洲成人av中文| 国产精品毛片久久久久久| 91麻豆精品国产无毒不卡在线观看| 国产精品一区二区三区四区| 天天色天天操综合| 国产精品夫妻自拍| 日韩一级免费一区| 91免费看`日韩一区二区| 寂寞少妇一区二区三区| 婷婷丁香激情综合| 亚洲欧美日韩小说| 日本一区二区综合亚洲| 日韩色视频在线观看| 日本二三区不卡| 国产成人av一区二区三区在线观看| 亚洲成人午夜影院| 亚洲视频一区在线| 国产调教视频一区| 日韩一区二区三区观看| 欧洲亚洲精品在线| 成人黄色a**站在线观看| 久久99久久99| 午夜精品成人在线视频| 亚洲激情第一区| **网站欧美大片在线观看| 国产欧美日本一区二区三区| 欧美v日韩v国产v| 欧美一区二区黄色| 精品视频在线看| 欧美最猛性xxxxx直播| av激情成人网| 大尺度一区二区| 国产成人综合在线| 国产精品99久久久久久久女警| 久久精品二区亚洲w码| 天堂成人国产精品一区| 亚洲午夜视频在线| 亚洲第四色夜色| 天天综合色天天综合色h| 午夜精品一区在线观看| 香蕉成人伊视频在线观看| 亚洲国产精品尤物yw在线观看| 亚洲精品视频在线观看网站| 亚洲精品国产成人久久av盗摄| 中文字幕亚洲综合久久菠萝蜜| 亚洲欧洲性图库| 亚洲综合视频在线| 亚洲亚洲人成综合网络| 亚洲国产精品久久人人爱蜜臀| 亚洲午夜视频在线观看| 视频一区视频二区中文字幕| 午夜成人在线视频| 秋霞影院一区二区| 久久国产欧美日韩精品| 国产精品综合一区二区| 成人午夜看片网址| 99精品热视频| 欧美无砖专区一中文字| 制服丝袜国产精品| 欧美大片在线观看一区| 国产拍揄自揄精品视频麻豆| 国产精品美日韩| 亚洲另类在线视频| 午夜久久久久久久久| 精品中文字幕一区二区小辣椒| 国产剧情av麻豆香蕉精品| 本田岬高潮一区二区三区| 色伊人久久综合中文字幕| 欧美日本精品一区二区三区| 欧美精品一区二区精品网| 欧美激情资源网| 亚洲亚洲人成综合网络| 久久99热99| 一本色道久久综合亚洲精品按摩| 欧美日韩精品综合在线| 欧美大肚乱孕交hd孕妇| 国产精品日韩精品欧美在线| 亚洲一区在线观看免费| 免费人成网站在线观看欧美高清| 国产在线视频一区二区三区| 一本到不卡精品视频在线观看| 777a∨成人精品桃花网| 中文字幕乱码久久午夜不卡| 亚洲一区日韩精品中文字幕| 国产中文一区二区三区| 欧美午夜电影在线播放| 国产三级欧美三级| 亚洲成人黄色小说| 成人精品电影在线观看| 日韩区在线观看| 亚洲黄色在线视频| 国产一区二区三区av电影| 欧美在线看片a免费观看| 国产三级三级三级精品8ⅰ区| 亚洲欧美日韩在线不卡| 国产精品综合在线视频| 91精品国产综合久久国产大片| 国产精品久久三| 国产一区二区三区久久悠悠色av | 精品国产91乱码一区二区三区| 国产精品福利av| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩一区二区三区免费看| 国产精品无圣光一区二区| 美女视频免费一区| 欧美日韩精品久久久| 亚洲天堂成人网| 国产aⅴ精品一区二区三区色成熟| 777亚洲妇女| 亚洲第一成年网| 色婷婷久久久亚洲一区二区三区| 久久蜜桃av一区精品变态类天堂| 性做久久久久久免费观看| 色悠悠亚洲一区二区| 中文字幕一区二区三区在线播放| 国产精品一二三四| 精品三级在线看| 日本亚洲三级在线| 欧美精品 国产精品| 亚洲高清视频在线| 91色视频在线| 亚洲色图19p| av一区二区不卡| 国产精品网曝门| 国产盗摄一区二区| 国产色综合久久| 国产成人午夜精品影院观看视频 | 中文字幕av资源一区| 精彩视频一区二区| 日韩美女一区二区三区四区| 日本大胆欧美人术艺术动态| 欧美二区乱c少妇| 日韩成人一级大片| 日韩欧美一区二区免费| 久99久精品视频免费观看| 欧美不卡一区二区| 理论电影国产精品| 久久亚洲捆绑美女| 国产激情偷乱视频一区二区三区| 久久夜色精品一区| 成人精品一区二区三区四区| 自拍偷拍国产精品| 欧美日韩视频在线一区二区| 午夜欧美一区二区三区在线播放| 欧美精品九九99久久| 奇米精品一区二区三区在线观看一| 欧美理论电影在线| 麻豆91精品视频| 国产亚洲成aⅴ人片在线观看| 国产不卡视频一区| 亚洲三级在线观看| 8x福利精品第一导航| 国产一区日韩二区欧美三区| 国产精品素人一区二区| 色婷婷精品大在线视频| 肉肉av福利一精品导航| 久久久精品欧美丰满| 99精品视频中文字幕| 亚洲成人av电影| 久久久精品影视| 在线免费一区三区| 久久精品国产精品青草| 亚洲国产精品二十页| 欧美午夜精品久久久久久超碰 |