多列分页算法
private void ShowRecord(int RecordCount,int CellCount,int CurrentPage)
{
int CurrentRC,TotalCount,FinalCount,CurrentLocation;
string ImageName,ImageUrl;
TableRow Tr=new TableRow();
TableCell Tc=new TableCell();
TotalCount=RecordInfo.GetRecordCount();
FinalCount=TotalCount/CellCount+1;
TotalPage=(FinalCount-1)/RecordCount+1;
CurrentRC=FinalCount-(CurrentPage-1)*RecordCount;
if(CurrentRC>RecordCount) CurrentRC=RecordCount;
if(CurrentPage>TotalPage) CurrentPage=1;
for(int i=(CurrentPage-1)*RecordCount;i<CurrentRC+(CurrentPage-1)*RecordCount;i++)
{
Tc.Controls.Add(new LiteralControl("<table><tr>"));
for(int j=1;j<=CellCount;j++)
{
CurrentLocation=(CurrentPage-1)*RecordCount*CellCount+(i%RecordCount)*CellCount+j;
if(TotalCount>=CurrentLocation)
{
ImageName=RecordInfo.GetValue(CurrentLocation-1,1);
ImageUrl=RecordInfo.GetValue(CurrentLocation-1,0);
Tc.Controls.Add(new LiteralControl("<td width='120' height='120'><a target='_blank' title='"+ImageName+"' href='"+ImageUrl+"'><img border='0' width='100' height='100' src='"+ImageUrl+"'></a></td>"));
}
else
j=CellCount+1;
}
Tc.Controls.Add(new LiteralControl("</tr></table>"));
Tr.Cells.Add(Tc);
pic.Rows.Add(Tr);
}
}
{
int CurrentRC,TotalCount,FinalCount,CurrentLocation;
string ImageName,ImageUrl;
TableRow Tr=new TableRow();
TableCell Tc=new TableCell();
TotalCount=RecordInfo.GetRecordCount();
FinalCount=TotalCount/CellCount+1;
TotalPage=(FinalCount-1)/RecordCount+1;
CurrentRC=FinalCount-(CurrentPage-1)*RecordCount;
if(CurrentRC>RecordCount) CurrentRC=RecordCount;
if(CurrentPage>TotalPage) CurrentPage=1;
for(int i=(CurrentPage-1)*RecordCount;i<CurrentRC+(CurrentPage-1)*RecordCount;i++)
{
Tc.Controls.Add(new LiteralControl("<table><tr>"));
for(int j=1;j<=CellCount;j++)
{
CurrentLocation=(CurrentPage-1)*RecordCount*CellCount+(i%RecordCount)*CellCount+j;
if(TotalCount>=CurrentLocation)
{
ImageName=RecordInfo.GetValue(CurrentLocation-1,1);
ImageUrl=RecordInfo.GetValue(CurrentLocation-1,0);
Tc.Controls.Add(new LiteralControl("<td width='120' height='120'><a target='_blank' title='"+ImageName+"' href='"+ImageUrl+"'><img border='0' width='100' height='100' src='"+ImageUrl+"'></a></td>"));
}
else
j=CellCount+1;
}
Tc.Controls.Add(new LiteralControl("</tr></table>"));
Tr.Cells.Add(Tc);
pic.Rows.Add(Tr);
}
}