如何在asp.net中分页datatable结果 [英] How to paging datatable result in asp.net
问题描述
专家,
在我的asp.net应用程序中,
页面(search.aspx.cs)后面的代码中有一个数据表dtResult.
我已经将其保护为.aspx页面(serch.aspx).
它包含69行.
在.aspx页中,我正在使用动态表显示动态结果.
喜欢
< table>
int resultsCount = dtResult.Rows.count;
for(int i = 0; i& lt; resultsCount; i ++)
{
compNm = dtResult.Rows [i] [1] .ToString();
companyName = dtResult.Rows [i] [0] .ToString();
< tr>
< td width ="98">< a href ="viewdetails.asp?item =<%= compNm %>">< img src ="images/viewdetails. jpg"width =" 98"height =" 20"border =" 0></a></td>
< td width ="15">& nbsp;</td>
< td width ="98">< a href ="member/senddetails.aspx?item =<%= compNm %>">< img src ="images/Contact-Now.jpg"width =" 98"height =" 20"border =" 0></a></td>
< td>& nbsp;</td>
< td width ="15">& nbsp;</td>
</tr>
}
</table>
我必须在分页中显示这些结果.每页10行.
我怎么显示?
请帮帮我.
在此先谢谢您.
Hi Expert,
In my asp.net application,
there is one datatable dtResult in code behind page(search.aspx.cs).
i have made it protected for .aspx page(serch.aspx).
It containts 69 rows.
In .aspx page i am showing the dynamic results using dynamic table.
Like
<table>
int resultsCount=dtResult.Rows.count;
for (int i = 0; i < resultsCount; i++)
{
compNm = dtResult.Rows[i][1].ToString();
companyName = dtResult.Rows[i][0].ToString();
<tr>
<td width="98"><a href="viewdetails.asp?item=<%=compNm%>"><img src="images/viewdetails.jpg" width="98" height="20" border="0"></a></td>
<td width="15"> </td>
<td width="98"><a href="member/senddetails.aspx?item=<%=compNm%>"><img src="images/Contact-Now.jpg" width="98" height="20" border="0"></a></td>
<td> </td>
<td width="15"> </td>
</tr>
}
</table>
and i have to show these results in paging.10 rows per page.
How i can show?
Please Help me .
Thanks in advance.
推荐答案
您为什么不使用GridView?您可以通过分页轻松地管理数据集.
Why don''t you use a GridView? You can easily manage your dataset by paging.
您好
考虑做您的分页服务器端(直接在数据库查询中).
希望对您有所帮助.
Hi
Consider doing your paging server side (directly in your database query).
Hope it helps.
我尝试了一些符合您要求的代码.
检查一下....
Hi,
I tried some code for your requirement.
check this ....
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script language ="javascript" >
</script>
</head>
<body >
<form id="form1" runat="server">
<div>
<div id="pagingdiv" runat="server"></div>
<div id="restable" runat="server">
</div>
</div>
</form>
</body>
</html>
并且代码隐藏文件包含以下代码
And codebehind file contains following code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["pageno"] != null)
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\muralit\My Documents\Visual Studio 2010\WebSites\solvingproject\App_Data\Database.mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter da = new SqlDataAdapter("SELECT TOP (10) vid, vname, vpath FROM VideoTab WHERE (vid > " + Request.QueryString["pageno"] .ToString()+ ") ", con);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
string lstid = "";
StringBuilder sb = new StringBuilder(" <table border="\"1\"" width="\"80%\"" align="\"center\"">");
for (int i = 0; i < dt.Rows.Count; i++)
{
if (i == dt.Rows.Count - 1)
{
lstid = dt.Rows[i][0].ToString();
}
sb.Append(" <tr> <td>" + dt.Rows[i][0].ToString() + "</td> <td>" + dt.Rows[i][1].ToString() + "</td><td>" + dt.Rows[i][2].ToString() + "</td> </tr>");
}
sb.Append(" </table>");
restable.InnerHtml = sb.ToString();
pagingdiv.InnerHtml = "<a href="default9.aspx">First Page</a> <a href="default9.aspx?pageno=" + lstid + "">nextpage</a>";
}
else
{
restable.InnerHtml = "There are no Data";
}
}
else
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\muralit\My Documents\Visual Studio 2010\WebSites\solvingproject\App_Data\Database.mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter da = new SqlDataAdapter("SELECT TOP (10) vid, vname, vpath FROM VideoTab WHERE (vid > 0) ", con);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
string lstid = "";
StringBuilder sb = new StringBuilder(" <table border="\"1\"" width="\"80%\"" align="\"center\"">");
for (int i = 0; i < dt.Rows.Count; i++)
{
if (i == dt.Rows.Count - 1)
{
lstid = dt.Rows[i][0].ToString();
}
sb.Append(" <tr> <td>" + dt.Rows[i][0].ToString() + "</td> <td>" + dt.Rows[i][1].ToString() + "</td><td>" + dt.Rows[i][2].ToString() + "</td> </tr>");
}
sb.Append(" </table>");
restable.InnerHtml = sb.ToString();
pagingdiv.InnerHtml = "<a href="default9.aspx">First Page</a> <a href="default9.aspx?pageno=" + lstid + "">nextpage</a>";
}
else
{
restable.InnerHtml = "There are no Data";
}
}
}
}
希望对您有帮助.
而且您必须更改一些更改才能为您获得最佳输出.
最好的
I hope it helps you.
And you''ve to change some changes to get best output for you.
All the Best
这篇关于如何在asp.net中分页datatable结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!