2010-08-04 2 views
0

У меня проблема в моем коде, где я застрял, что таблица разбиения страниц не работает. Вероятно, всего 5 записей. Пожалуйста, помогите мне решить мою проблему:Pagination не работает

Он только теперь показывает первую запись моего SQL в таблице

<form name ="form" action="Report1.jsp" method="post" > 
<%! int numPages = 0; %> 
<% 
String columnName = ""; 
int count = 0; 
int totalCols = 0; 
int increment = 1; 
int numRows = 0; 


String startIndexString = request.getParameter("startIndex"); 

if(startIndexString == null) { 
startIndexString = "1"; 
} 

int startIndex = Integer.parseInt(startIndexString); 

try{ 

totalCols = 1; 
%> 
    <table border="1" width="84%" align="center" bgcolor=#66CCFF bordercolor=#000000 height="137"> 

     <tr> 
     <div id="container"> 
      <td colspan="7" height="65"> 
      <p align="center"><b>Customer Information Request Form</b></td> 
     </tr> 
       <tr> 
      <td colspan="2" height="33"> 
      <p align="center"> 
      <span style="font-size: 8pt; font-weight:700">CIR_ID</span></td> 
      <td height="33"> 
      <span style="font-size: 8pt; font-weight:700">Bank Name</span></td> 
      <td height="33" width="26%"> 
      <span style="font-size: 8pt; font-weight: 700">Request From</span></td> 
      <td height="33" width="18%" colspan="3"> 
      <span style="font-weight: 700; font-size: 8pt">Created</span><span style="font-size: 8pt; font-weight: 700"> 
      Date</span></td> 
     </tr> 
<% 
for(int j=1; j<=totalCols && rs.next(); j++) { 

%>  
<tr bgcolor="#FFFFFF" onMouseOver="this.bgColor='gold';" onMouseOut="this.bgColor='#FFFFFF';"> 
<td width="3%"><span style="font-size: 8pt"><%=j=j+1%></span></td> 
<td width="10%"><span style="font-size: 8pt"> 
<a href="cir_view.jsp?cir_id=<%=rs.getString("cir_id")%>" Title="View" onClick="return popup(this, 'Report')"> 
<%=rs.getString("cir_id")%> 
</a> 
</span> </td> 
<td width="39%" ><span style="font-size: 8pt"><%=rs.getString("institution_name")%></span></td> 
<td width="26%" align="left"><span style="font-size: 8pt"><%=rs.getString("requester")%></span></td> 
<td width="10%" align="left"><span style="font-size: 8pt"> 
<%=rs.getString("created_date")%></span></td> 
<td width="3%" align="left"><a href="cir_delete.jsp?cir_id=<%=rs.getString("cir_id")%>" class="ask" onclick="target='_blank';"> 
<IMG SRC="12.png" ALT="Delete" BORDER="0" ></a></td> 
<td width="3%" align="left"><a href="cir_update.jsp?cir_id=<%=rs.getString("cir_id")%>" onClick="return popup(this, 'Report')"><IMG SRC="28.png" ALT="Edit" BORDER="0"></a></td> 
</div> 
</tr> 


<% 
} 
List list = new ArrayList(); 

for(int i=0 ; i<100 ; i++){ 

list.add("item"+i); 

} 

numRows = list.size(); 

out.println(" total no. of records : "+ numRows); 

int numRecordsPerPage = 5; 

out.println(" Num of Records per page : " + numRecordsPerPage + "\n"); 

numPages = numRows /numRecordsPerPage ; 

int remain = numRows % numRecordsPerPage ; 

if(remain != 0){ 

numPages = numPages +1 ; 

} 

out.println(" \n no. of pages : " + numPages); 

if((startIndex + numRecordsPerPage) <= numRows) { 

increment = startIndex + numRecordsPerPage ; 
} 
else{ 

if (remain == 0){ 

increment = startIndex + numRecordsPerPage ; 

}else{ 

increment = startIndex + remain; 
} 
} 

for(count = startIndex; count < increment; count++) { 

%><tr><% 
for(int i=1; i<=totalCols; i++) { 

%><td><% out.println(list.get(count-1)); %></td><% 
} 
%></tr><% 

} 
%> 

</td> 
</table> 
Displaying Records: 
<% if(startIndex + numRecordsPerPage < numRows){%> 
<%= " " + startIndex %> - <%= increment - 1 %> 
<%}else{%> 
<%= " " + startIndex %> - <%= numRows %> 
<%}%> 

<%if(startIndex != 1) {%> 
<a href="Report1.jsp?startIndex=<%=startIndex-numRecordsPerPage%>">Previous</a> 
<%}%> 

<%increment += numRecordsPerPage ;%> 
<%if(startIndex + numRecordsPerPage <= numRows){%> 
<a href="Report1.jsp?startIndex=<%=startIndex+numRecordsPerPage %>">Next</a> 
<%}%> 
</tr> 
</table> 
<% 
}catch(Exception exc){ 
out.println(exc.toString()); 
} // end try-catch 
%> 

    <p>&nbsp;</p> 
</form> 


</body> 
<% 
conn.close(); 
rs.close(); 
%> 

ответ

0

На первый взгляд можно напечатать только одну строку becouse ваших totalCols является 1 и J в для cxan только меньше или равно, чем totalCols.

totalCols = 1; 
%> 
    <table border="1" width="84%" align="center" bgcolor=#66CCFF bordercolor=#000000 height="137"> 

     <tr> 
     <div id="container"> 
      <td colspan="7" height="65"> 
      <p align="center"><b>Customer Information Request Form</b></td> 
     </tr> 
       <tr> 
      <td colspan="2" height="33"> 
      <p align="center"> 
      <span style="font-size: 8pt; font-weight:700">CIR_ID</span></td> 
      <td height="33"> 
      <span style="font-size: 8pt; font-weight:700">Bank Name</span></td> 
      <td height="33" width="26%"> 
      <span style="font-size: 8pt; font-weight: 700">Request From</span></td> 
      <td height="33" width="18%" colspan="3"> 
      <span style="font-weight: 700; font-size: 8pt">Created</span><span style="font-size: 8pt; font-weight: 700"> 
      Date</span></td> 
     </tr> 
<% 
for(int j=1; j<=totalCols && rs.next(); j++) { 
+0

Это заголовок таблицы. Что мне делать для набора результатов? – maas

+0

Я изменил его на 3, и он показал только 2 записи. Как мне скопировать код? – maas

+0

Я предлагаю записать все вычисления для разбивки на страницы перед началом, затем использовать для (j = startIndex; j Random