如何在asp.net中分页datatable结果 [英] How to paging datatable result in asp.net

查看:93
本文介绍了如何在asp.net中分页datatable结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

专家,

在我的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 &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>



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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆