/*
数据分页显示1.2
最后更新于: 2005-6-12 19:15
1>修正页面计算的BUG(当记录数刚好填满页时,会多计算一页的BUG)
2>将showPagecur()中页面参数"?page="改为了"page=",以便在页面可以自己指定URL参数。
同时要求各位小心构造页面的URL,特别是“?”或“&"符号。不然就会出错。
数据分页显示1.1
最后更新于: 2005-6-2 12:52
加入自定义颜色功能
包括:标题行背景颜色,内容行背景颜色,内容切换背景颜色,标题字体颜色,内容行字体颜色
并且内置了10种颜色方案 setStyle(int) 1-10 1为default 样式 ,当然不喜欢的话也可以自己指定颜色拉。
I WISH YOU ENJOY IT!
ezpj2005@yahoo.com.cn
*/
package CommonBean;
import java.sql.*;
public class CutPage {
int pagecount; //总页数
int pagesize; //每页显示记录条数
int pagecusor; //目前要显示的页面
ResultSet rs; //记录集
String linkURL; //链接到的位置。
String linkTaget = "_blank";
int keyindex; //指出数据集合中关键字的列位置。用于给上面的linkURL id带具体的URL参数值
String pageURL; //此页面的位置
String TitleTXT="点击查看详细内容";
String TableLineColor = "#000000"; //表格线颜色
String TitleBColor = "#99CCFF"; //标题行背景颜色
String TitleFColor = "#000000"; //标题字体颜色
String ContentFColor = "#000000"; //内容行字体颜色
String ContentBColor = "#FFFFFF"; //内容行背景颜色
String ContentSColor = "#CCCCCC"; //内容切换背景颜色
//初始化
public void initCuter(int pagesize, int pagecusor,
ResultSet rs, String linkURL, String linkTaget,
int keyindex, String pageURL) {
try {
this.setPagesize(pagesize);
this.setPagecusor(pagecusor);
this.setRs(rs);
this.setLinkURL(linkURL);
this.setLinkTaget(linkTaget);
this.setKeyindex(keyindex);
this.setPageURL(pageURL);
rs.last();
this.setPagecount( (rs.getRow() / pagesize + 1));
}
catch (SQLException ex) {
}
}
//重新计算页数
public void resetCuter() {
try {
rs.last();
this.setPagecount( (rs.getRow() / pagesize + 1));
if ( (rs.getRow() % pagesize) == 0) {
this.setPagecount(this.getPagecount() - 1);
}
}
catch (SQLException ex) {
}
}
//设置显示样式
public void setStyle(int StyleIndex) {
//String aa="aaa";
switch (StyleIndex) {
default:
case 1: { //默认样式
TableLineColor = "#000000"; //表格线颜色
TitleBColor = "#99CCFF"; //标题行背景颜色
ContentBColor = "#FFFFFF"; //内容行背景颜色
ContentSColor = "#CCCCCC"; //内容切换背景颜色
TitleFColor = "#000000"; //标题字体颜色
ContentFColor = "#000000"; //内容行字体颜色
break;
}
case 2: { //配色方案2(紫色):
TableLineColor = "#983498"; //表格线颜色
TitleBColor = "#d890d8"; //标题行背景颜色
ContentBColor = "#f8dcf8"; //内容行背景颜色
ContentSColor = "#fff0ff"; //内容切换背景颜色
TitleFColor = "#602060"; //标题字体颜色
ContentFColor = "#602060"; //内容行字体颜色
break;
}
case 3: { //配色方案3(粉色):
TableLineColor = "#f00078"; //表格线颜色
TitleBColor = "#ff98do"; //标题行背景颜色
ContentBColor = "#ffe8f0"; //内容行背景颜色
ContentSColor = "#fff6fc"; //内容切换背景颜色
TitleFColor = "#602060"; //标题字体颜色
ContentFColor = "#602060"; //内容行字体颜色
break;
}
case 4: { //配色方案4(果绿色)::
TableLineColor = "#507010"; //表格线颜色
TitleBColor = "#a0dc40"; //标题行背景颜色
ContentBColor = "#e8f8d0"; //内容行背景颜色
ContentSColor = "#f8fcf0"; //内容切换背景颜色
TitleFColor = "#003300"; //标题字体颜色
ContentFColor = "#003300"; //内容行字体颜色
break;
}
case 5: { //配色方案五(金黄色):
TableLineColor = "#co7800"; //表格线颜色
TitleBColor = "#ffc562"; //标题行背景颜色
ContentBColor = "#ffeed0"; //内容行背景颜色
ContentSColor = "#Fffaf0"; //内容切换背景颜色
TitleFColor = "#754900"; //标题字体颜色
ContentFColor = "#754900"; //内容行字体颜色
break;
}
case 6: { //配色方案六(湖蓝色):
TableLineColor = "#007ca6"; //表格线颜色
TitleBColor = "#15b9ff"; //标题行背景颜色
ContentBColor = "#cef3ff"; //内容行背景颜色
ContentSColor = "#ecfbff"; //内容切换背景颜色
TitleFColor = "#00637b"; //标题字体颜色
ContentFColor = "#00637b"; //内容行字体颜色
break;
}
case 7: { //配色方案七(宝石蓝色):
TableLineColor = "#002cae"; //表格线颜色
TitleBColor = "#7d9aff"; //标题行背景颜色
ContentBColor = "#d0dcff"; //内容行背景颜色
ContentSColor = "#eef2ff"; //内容切换背景颜色
TitleFColor = "#001c7b"; //标题字体颜色
ContentFColor = "#001c7b"; //内容行字体颜色
break;
}
case 8: { //配色方案8(酱红色):
TableLineColor = "#db3700"; //表格线颜色
TitleBColor = "#ff8c6a"; //标题行背景颜色
ContentBColor = "#ffd2c4"; //内容行背景颜色
ContentSColor = "#ffede8"; //内容切换背景颜色
TitleFColor = "#8a1f00"; //标题字体颜色
ContentFColor = "#8a1f00"; //内容行字体颜色
break;
}
case 9: { //配色方案9(雪青色):
TableLineColor = "#cd37ff"; //表格线颜色
TitleBColor = "#ebacff"; //标题行背景颜色
ContentBColor = "#f9e6ff"; //内容行背景颜色
ContentSColor = "#Fdf4ff"; //内容切换背景颜色
TitleFColor = "#205838"; //标题字体颜色
ContentFColor = "#205838"; //内容行字体颜色
break;
}
case 10: { //配色方案10(西瓜红色):
TableLineColor = "#ff51b0"; //表格线颜色
TitleBColor = "#ff8cc6"; //标题行背景颜色
ContentBColor = "#ffe1f0"; //内容行背景颜色
ContentSColor = "#fff4fa"; //内容切换背景颜色
TitleFColor = "#bf0069"; //标题字体颜色
ContentFColor = "#bf0069"; //内容行字体颜色
break;
}
}
}
//显示当页记录
public String showRS() {
String tmpSTR = "";
this.resetCuter();
int pagefirst = 0; //开始数据行
int ColCounter = 1, RowCounter = 0;
try {
rs.first();
ResultSetMetaData rsmd = rs.getMetaData();
tmpSTR +=
"<table width='90%' border='0' cellpadding='1' cellspacing='1' bgcolor='" +
TableLineColor + "'>";
tmpSTR += "<tr bgcolor='" + TitleBColor + "' align='center'>";
while (ColCounter <= rsmd.getColumnCount()) {
tmpSTR += "<td> <font style='color:" + TitleFColor + "'>";
tmpSTR += rsmd.getColumnLabel(ColCounter);
tmpSTR += "</font></td>";
ColCounter++;
}
tmpSTR += "</tr>"; //标题行结束
pagefirst = (this.getPagecusor() - 1) * this.getPagesize(); //计算开始数据行
RowCounter = 0;
rs.relative(pagefirst + RowCounter);
while (RowCounter < this.pagesize) {
ColCounter = 1;
tmpSTR += "<a href='" + linkURL + rs.getString(keyindex) + "'";
tmpSTR += "target='" + linkTaget + "' rel='nofollow' onclick='return false;'>";
tmpSTR += "<tr bgcolor='" + ContentBColor + "' align='center'";
tmpSTR += "onMouseOut=\"this.bgColor='" + ContentBColor +
"'\" onMouseOver=\"this.bgColor='" + ContentSColor +
"'\" style='cursor: hand;'";
tmpSTR += "title='"+TitleTXT+"'>"; //内容行开始
while (ColCounter <= rsmd.getColumnCount()) {
tmpSTR += "<td> <font style='color:" + ContentFColor + "'>";
tmpSTR += rs.getString(ColCounter);
tmpSTR += "</font></td>";
ColCounter++;
}
tmpSTR += "</tr>";
tmpSTR += "<a href='#' rel='nofollow' onclick='return false;'>"; //内容行结束
RowCounter++;
if (rs.next()) {
continue;
}
else {
break;
}
}
tmpSTR += "</table>";