package com.conant.ums.util;
import java.util.*;
public class PageUpDown {
public PageUpDown() {
}
//������¼��������
private int iRowNo = 0;
//��ǰҳ
private int iPageNo = 0;
//��ҳ��
private int iPageNumber = 0;
//ÿҳ��ʾ����
private int iSigPageNumber = 10;
public PageUpDown(int iPageNo) {
if (iPageNo > 0) {
this.iPageNo = iPageNo;
}
else {
this.iPageNo = 1;
}
}
public PageUpDown(int iPageNo, int iSigPageNumber) {
int pageNo = 0;
if (iPageNo > 0) {
this.iPageNo = iPageNo;
}
else {
this.iPageNo = 1;
}
if (iSigPageNumber > 0) {
this.iSigPageNumber = iSigPageNumber;
}
else {
this.iSigPageNumber = 30;
}
}
//�����鼯����ȡ���Ӽ�, ���б��Ϸ���
public List getPageSet(Object[] oInputData) {
List listV = new ArrayList();
Object[] list = null;
int allPage = 0;
try {
if (oInputData != null && oInputData.length != 0) {
if (oInputData.length % iSigPageNumber == 0) {
allPage = oInputData.length / iSigPageNumber;
}
else {
allPage = oInputData.length / iSigPageNumber + 1;
}
int iRecNum = oInputData.length;
for (int i = (this.iPageNo - 1) * this.iSigPageNumber;
i < this.iPageNo * this.iSigPageNumber && i < iRecNum; i++) {
listV.add(oInputData[i]);
}
}
this.iPageNumber = allPage;
if (this.iPageNumber == 0) {
this.iPageNo = 0;
}
}
catch (Exception e) {
Log.error("the exception is " + e);
}
return listV;
}
//������������ȡ���Ӽ�, ���б��Ϸ���
public List getPageSet(List oInputData) {
List listV = new ArrayList();
Object[] list = null;
int allPage = 0;
try {
if (oInputData != null && oInputData.size() != 0) {
if (oInputData.size() % iSigPageNumber == 0) {
allPage = oInputData.size() / iSigPageNumber;
}
else {
allPage = oInputData.size() / iSigPageNumber + 1;
}
int iRecNum = oInputData.size();
if (allPage < iPageNo) {
iPageNo = iPageNo - 1;
}
for (int i = (this.iPageNo - 1) * this.iSigPageNumber;
i < this.iPageNo * this.iSigPageNumber && i < iRecNum; i++) {
listV.add(oInputData.get(i));
}
}
this.iPageNumber = allPage;
if (this.iPageNumber == 0) {
this.iPageNo = 0;
}
}
catch (Exception e) {
Log.error("the exception is " + e);
}
return listV;
}
//������������ȡ������ָ����¼���Ӽ��ϣ������б��Ϸ���
public List getPageSet_NewRecord(List oInputData, List idList, String key) {
List listV = new ArrayList();
Object[] list = null;
int allPage = 0;
try {
if (oInputData != null && oInputData.size() != 0) {
if (oInputData.size() % iSigPageNumber == 0) {
allPage = oInputData.size() / iSigPageNumber;
}
else {
allPage = oInputData.size() / iSigPageNumber + 1;
}
int iRecNum = oInputData.size();
for (int i = 0; i < iRecNum; i++) {
if ( ( (String) idList.get(i)).trim().equals(key.trim())) {
if ( (i + 1) % iSigPageNumber == 0) {
this.iPageNo = (i + 1) / iSigPageNumber;
if (iPageNo == 0) {
iPageNo = 1;
}
}
else {
this.iPageNo = i / iSigPageNumber + 1;
}
if ( (i + 1) % iSigPageNumber != 0) {
iRowNo = (i + 1) % iSigPageNumber;
}
else {
iRowNo = iSigPageNumber;
}
break;
}
}
for (int i = (this.iPageNo - 1) * this.iSigPageNumber;
i < this.iPageNo * this.iSigPageNumber && i < iRecNum; i++) {
listV.add(oInputData.get(i));
}
}
this.iPageNumber = allPage;
if (this.iPageNumber == 0) {
this.iPageNo = 0;
}
}
catch (Exception e) {
Log.error("the exception is " + e);
}
return listV;
}
public List getPageSet_Delete(List oInputData, int iRowno) {
List listV = new ArrayList();
Object[] list = null;
int allPage = 0;
try {
if (oInputData != null && oInputData.size() != 0) {
if (oInputData.size() % iSigPageNumber == 0) {
allPage = oInputData.size() / iSigPageNumber;
}
else {
allPage = oInputData.size() / iSigPageNumber + 1;
}
int iRecNum = oInputData.size();
//���ɾ���ĵ�һ������ҳ������궨λ�����һ��
if (iRowno == 1 && iPageNo != 1) {
iPageNo = iPageNo - 1;
this.iRowNo = iSigPageNumber;
}
else if (iRowno == 1 && iPageNo == 1) {
iRowNo = 1;
//�����궨λ����һ��
}
else {
iRowNo = iRowno - 1;
}
for (int i = (this.iPageNo - 1) * this.iSigPageNumber;
i < this.iPageNo * this.iSigPageNumber && i < iRecNum; i++) {
listV.add(oInputData.get(i));
}
}
this.iPageNumber = allPage;
if (this.iPageNumber == 0) {
this.iPageNo = 0;
}
}
catch (Exception e) {
Log.error("the exception is " + e);
}
return listV;
}
// added by raokun 2006.19.02 begin. for cursor postion.
// ��������Ҫ����ȷ��������¼��ʱ��,���Ķ�λ.
// �������:
// oInputData: Ϊ����Ҫ��ʾ�ļ�¼
// curLineNo: �����ļ�¼�����м�¼�еľ���λ��(ϵͳ��Ҫ�����ͣ���ڴ�����¼��.
// �˴���Ҫ��������ÿҳ�е����λ�ü�������һҳ)
// ���ز���:
// List: �����м�¼�������DZ�ҳ�ļ�¼,ֻ���ص�ҳ������.
public List getPageSet(List oInputData, int absolutePosition) {
List listV = new ArrayList();
//Obct[] list = null;
Object[] list = null;
int allPage = 0;
try {
if (oInputData != null && oInputData.size() != 0) {
if (oInputData.size() % iSigPageNumber == 0) {
allPage = oInputData.size() / iSigPageNumber;
}
else {
allPage = oInputData.size() / iSigPageNumber + 1;
}
int iRecNum = oInputData.size();
{
int i = absolutePosition;
if ( (i + 1) % iSigPageNumber == 0) {
this.iPageNo = (i + 1) / iSigPageNumber;
if (iPageNo == 0) {
iPageNo = 1;
}
}
else {
this.iPageNo = i / iSigPageNumber + 1;
}
if ( (i + 1) % iSigPageNumber != 0) {
iRowNo = (i + 1) % iSigPageNumber;
}
else {
iRowNo = iSigPageNumber;
}
}
for (int i = (this.iPageNo - 1) * this.iSigPageNumber;
i < this.iPageNo * this.iSigPageNumber && i < iRecNum; i++) {
listV.add(oInputData.get(i));
}
}
this.iPageNumber = allPage;
if (this.iPageNumber == 0) {
this.iPageNo = 0;
}
}
catch (Exception e) {
Log.error("the exception is " + e);
}
return listV;
}
public int getIPageNo() {
return iPageNo;
}
public int getIPageNumber() {
return iPageNumber;
}
public int getIRowNo() {
return iRowNo;
}
}