public void PageDisplay()
{
DataIn di = new DataIn();
//获得总记录数
nRecCount = di.GetNetFaceInfoCount();
StringBuilder strHtml = new StringBuilder(""); //取得当前页数,并判断
if (Request["pagesize"] == null)
Record_Per_Page = 25;
else
Record_Per_Page = Convert.ToInt32(Request["pagesize"]); //判断是否存在数据记录
if (nRecCount > 0)
{
//确定数据记录要显示的页面数
nPageCount = nRecCount / Record_Per_Page;
if (nRecCount % Record_Per_Page > 0)
nPageCount++;
if (nPage < 1)
nPage = 1;
if (nPage > nPageCount)
nPage = nPageCount; //将页面显示到屏幕上,并作连接
for (int i = 1; i <= nPageCount; i++)
{
strHtml.Append("<a href='PicFaceList.aspx?page="+i+"'>");
if (i == nPage) strHtml.Append("<b>" + i + "</b>");
else strHtml.Append(i);
strHtml.Append("</a> "); } //确认当前页面的开始记录和终止记录
int nStart = Record_Per_Page * (nPage - 1);
int nEnd = nStart + Record_Per_Page - 1;
if (nEnd > nRecCount - 1)
nEnd = nRecCount - 1; StringBuilder StrSql = new StringBuilder();
StrSql.AppendFormat("select * from CARDFACE WHERE rownum <'"+Record_Per_Page.ToString()+"' order by ID desc"); dt = di.GetInfoBySql(StrSql.ToString()); strlnk = strHtml.ToString();
} }
写了个分页代码,但现在的问题是跳到下一页数据没有变化,请大狭只点下,多谢??
{
DataIn di = new DataIn();
//获得总记录数
nRecCount = di.GetNetFaceInfoCount();
StringBuilder strHtml = new StringBuilder(""); //取得当前页数,并判断
if (Request["pagesize"] == null)
Record_Per_Page = 25;
else
Record_Per_Page = Convert.ToInt32(Request["pagesize"]); //判断是否存在数据记录
if (nRecCount > 0)
{
//确定数据记录要显示的页面数
nPageCount = nRecCount / Record_Per_Page;
if (nRecCount % Record_Per_Page > 0)
nPageCount++;
if (nPage < 1)
nPage = 1;
if (nPage > nPageCount)
nPage = nPageCount; //将页面显示到屏幕上,并作连接
for (int i = 1; i <= nPageCount; i++)
{
strHtml.Append("<a href='PicFaceList.aspx?page="+i+"'>");
if (i == nPage) strHtml.Append("<b>" + i + "</b>");
else strHtml.Append(i);
strHtml.Append("</a> "); } //确认当前页面的开始记录和终止记录
int nStart = Record_Per_Page * (nPage - 1);
int nEnd = nStart + Record_Per_Page - 1;
if (nEnd > nRecCount - 1)
nEnd = nRecCount - 1; StringBuilder StrSql = new StringBuilder();
StrSql.AppendFormat("select * from CARDFACE WHERE rownum <'"+Record_Per_Page.ToString()+"' order by ID desc"); dt = di.GetInfoBySql(StrSql.ToString()); strlnk = strHtml.ToString();
} }
写了个分页代码,但现在的问题是跳到下一页数据没有变化,请大狭只点下,多谢??
{ PageDisplay(); }
有什么错?
if (!Page.IsPostBack){
PageDisplay();
}
应该就没问题了吧!
PageDisplay();
}
{
string strL = "",strC="";;
StringBuilder strB=new StringBuilder();
if (Pageno != "")
{
if (int.Parse(Pageno) > PageCount)
{
Pageno = "1";
}
}
if (strColor.Trim().Length <= 0)
strC = "#EEF8F9";
else
strC = strColor;
string str = "";
strB.Append(@"<table cellpadding=""0"" cellspacing=""1"" width=""98%"" height=""21"" align=""center"" bgcolor=""#E0E0E0"" class=""height25"">
<tr><td align=""right"" bgcolor="""+strC+@""">");
if (PageCount > 0)
{
strB.Append(@"[当前第");
if (Pageno != "")
strB.Append(Pageno + "页]/[共" + PageCount.ToString() + "页]");
else
strB.Append("1页]/[共" + PageCount.ToString() + "页]");
}
if (ClassID.Trim() != "")
strL = "&" + ClassID + "";
if (Pageno != "")
{
if (int.Parse(Pageno) > 0)
{
if (int.Parse(Pageno) - 1 > 0)
{
strB.Append(@"<a href=?page=1"+strL);
strB.Append( @">首页</a> |");
strB.Append( @" <a href=?page=");
strB.Append( int.Parse(Pageno) - 1);
strB.Append(strL);
strB.Append(@">上一页</a> |");
}
else
strB.Append(@"<span class=""gray"">首页</span> | <span class=""gray"">上一页</span> |");
if (PageCount - int.Parse(Pageno) > 0)
{
strB.Append(@"<a href=?page=");
strB.Append(int.Parse(Pageno) + 1);
strB.Append(strL);
strB.Append(@">下一页</a> |");
strB.Append( @" <a href=?page=");
strB.Append(PageCount.ToString());
strB.Append(strL);
strB.Append(@">尾页</a>");
}
else
{
strB.Append(@"<span class=""gray"">下一页</span> | <span class=""gray"">尾页</span>");
}
}
else
{
strB.Append(@"<span class=""gray"">首页</span> | <span class=""gray"">上一页</span> |)");
if (PageCount - 1 > 0)
{
strB.Append(@"<a href=?page=");
strB.Append(strL);
strB.Append(@">下一页</a> |");
strB.Append(@" <a href=?page=");
strB.Append(PageCount.ToString());
strB.Append(strL);
strB.Append(@">尾页</a> ");
}
else
{
strB.Append(@"<span class=""gray"">后页</span> | <span class=""gray"">上一页</span>");
}
}
}
else
{
strB.Append(@"<span class=""gray"">首页</span> | <span class=""gray"">上一页</span> |");
if (PageCount - 1 > 0)
{
strB.Append(@"<a href=?page=");
strB.Append("2");
strB.Append(strL);
strB.Append(@">下一页</a> |");
strB.Append(@" <a href=?page=");
strB.Append(PageCount.ToString());
strB.Append(strL);
strB.Append(@">尾页</a> ");
}
else
{
strB.Append(@"<span class=""gray"">下一页</span> | <span class=""gray"">尾页</span>");
}
}
strB.Append(@" 跳转到
<input type=""text"" id=""goPage"" class=""inputText"" class=""inputtext"" style=""text-align:right;width:1em;"">
<input type=""button"" onclick=""javascript:goto();"" value=""GO"" class=""inputButton""/>
<script type=""text/javascript"">function goto(n){var n = document.getElementById(""goPage"").value;n = parseInt(n);if (isNaN(n)){return;}
if (n<=0){n=1;}if (n-1<=0){n=1;}");
strB.Append(@"u=""?page=""+ n +"""+strL+@""";location.href=u;}</script></td></tr></table>");
str=strB.ToString();
return str;
}
跟踪看看页码是否正确
分页加计算查询时间
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'bao_B')
DROP PROCEDURE bao_B
GO--try:
create PROCEDURE bao_B
--把char换成varchar.***********
--用char的话,不足位的话会以空格补位。
@pageSize INT,
@pageIndex INT,
@ItemNum varchar(10),
@OrderNum varchar(30),
@CustNum varchar(30),
@beginTime DATETIME,
@endTime DATETIME
AS
begin
--把datetime类型转化成varchar*****************
declare @sql varchar(8000)set @sql='select TOP '+convert(varchar(20),@pageSize)+' ItemNum,OrderNum,CustNum,StockDate FROM S_Info
WHERE ItemNum LIKE ''%'+@ItemNum+'%'' AND OrderNum LIKE ''%'+@OrderNum+'%'' AND
CustNum LIKE ''%'+@CustNum+'%'' AND convert(varchar(20),StockDate,120)
BETWEEN '''+convert(varchar(20),@beginTime,120)+''' AND '''+convert(varchar(20),@EndTime,120)+'''
AND Identify NOT IN(SELECT TOP '+convert(varchar(20),(@pageIndex-1)*@pageSize)+' Identify
FROM S_Info WHERE ItemNum LIKE ''%'+@ItemNum+'%'' AND OrderNum LIKE ''%'+@OrderNum+'%'' AND
CustNum LIKE ''%'+@CustNum+'%'' AND convert(varchar(20),StockDate,120)
BETWEEN '''+convert(varchar(20),@beginTime,120)+''' AND '''+convert(varchar(20),@EndTime,120)+'''
ORDER BY ItemNum ASC) ORDER BY ItemNum ASC'
exec (@sql)end
GO