我正在做一个统计结果的页面,由于统计内容比较多,返回字段仅仅是一个值,所以在CS文件中自己组合成HTML代码并输出,但是输出全部结果至少有上千行,有没有啥办法进行分页呢?

解决方案 »

  1.   

    我的代码如下:
    protected void Page_Load(object sender, EventArgs e)
        {        string ktID=null;
            ktID = "112,113,114";
            string[]  kt=ktID.Split (',');        sbHtml.Append("    <table width=1500 border='1' cellspacing='0' cellpadding='0'>");
            sbHtml.Append("  <tr>");
            sbHtml.Append("    <td>课题组</td>");
            sbHtml.Append("    <td>老中医</td>");
            sbHtml.Append("    <td>类型</td>");
            sbHtml.Append("<td>创建数量</td>");
            sbHtml.Append("<td>操作员提交数量</td>");
            sbHtml.Append("<td>负责人提交数量</td>");
            sbHtml.Append("<td>项目办审核通过数量</td>");
            sbHtml.Append("<td>项目办未审核数量</td>");
            sbHtml.Append("<td>项目办退回修改数量</td>");
            sbHtml.Append("<td>退回修改后未再次提交数量</td>");
            sbHtml.Append("</tr>  ");        for (int i = 0; i<kt.Length;i++)
            {
                //Response .Write (kt[i]+"<br>");
                DisplayKt(kt[i]);
            }        sbHtml.Append(" </table>");
            this.DIV1.InnerHtml = sbHtml.ToString();
                    }------------------------
     DisplayKt(kt[i]);调用另一个类,循环生成table
      

  2.   

    TO:bzhi268
    没法用DataGrid吧,至少我不会。
    因为一个课题组包括若干个名医,名医下又有若干份不同类型的病历,所以要多次循环。
      

  3.   

    没人有能帮忙一下吗?我只想输出这样的表格课题组 老中医 创建数量  提交数量
    Z11    张     1         2
           王     3         4
           李     5         6
    Z12    赵     10        15
           周     50        60
    Z13    秦     5         7
      

  4.   

    你可以考虑用Repeater嵌套来实现
    <asp:Repeater runat=server>
        <asp:Repeater runat=server>
    不过可能显示出来的跟你期望的有些区别,显示出来应该是这样的
    Z11
           张     1         2
           王     3         4
           李     5         6
    Z12
           赵     10        15
           周     50        60
    Z13
           秦     5         7
      

  5.   

    用Repeater倒是想过,但是太麻烦,因为每个数字都是一条SQL结果,循环相当大,只能调用其它类循环输出。
      

  6.   

    看看这段代码对你有帮助吗?
    ===========================================================================<table width="503" border="1" align="center" style="WIDTH: 503px; HEIGHT: 83px">
    <%
    for (int i=0;i<4;i++)
    {
    %>
    <tr>
    <td><%=i.ToString()%></td>
    </tr>

    <%
    string strsql;
        OleDbConnection conn=new OleDbConnection();
        conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("database.mdb");
        conn.Open();
        strsql="select * from people where vname='"+i.ToString()+"'";
        OleDbCommand comm=new OleDbCommand(strsql,conn);
    OleDbDataReader dr=comm.ExecuteReader();

    while(dr.Read())
       {  %>
    <tr>
    <td><table width="100%" height="24" border="1" align="center">
    <tr>
    <td><%=dr["pname"]%></td>
    <td><%=dr["ppost"]%></td>
    <td><%=dr["ptel"]%></td>
    <td><%=dr["phandphone"]%></td>
    </tr>
    </table>
    </td>
    </tr>

    <%
      }
    conn.Close();
    } %>
    </table>
      

  7.   

    “每个数字都是一条SQL结果” —— 可以一次性全部读取数据库表中所有数据存入 DataSet 虚拟表中,然后将姓名做为参数传给服务器端与DataSet中的表进行比较,找到相应的行,最后返回该行某列的值(就是你的数字列)
      

  8.   

    最后还是自己拼的HTML代码。
    DataSet 虚拟表也可以,没时间仔细考虑,回头闲了再想想,一周就要完成,唉……