网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 asp.net异步获取datatable并显示的实现方法
范文
    本文讲述了asp.net异步获取datatable并显示的实现方法。分享给大家供大家参考,具体如下:
    名单
    上面就是结果,前台代码如下:
    <%@ Page Language="C#" AutoEventWireup="true"
    CodeFile="MethodOne.aspx.cs" Inherits="_Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title></title>
      <link href="swcss.css" rel="stylesheet" type="text/css" />
      <link href="TableZB.css" rel="stylesheet" type="text/css" />
      <script src="js-datagrid/scripts/PagerView.js" type="text/javascript"></script>
      <link href="js-datagrid/style.css" rel="stylesheet" type="text/css" />
      <script src="jquery-1.4.1.min.js" type="text/javascript"></script>
      <script type="text/javascript">
        var currentpage = 1;
        $(document).ready(function() {
          $.get("Handler.ashx?flag=data&index=" + currentpage,
            function(data) {
              $("#sjxs").append(data);
            });
          $.get("Handler.ashx?flag=count",
            function(count) {
              var pager = new PagerView('pager');
              pager.itemCount = count;
              pager.size = 5;
              pager.onclick = function(index) {
                currentpage = index;
                $.get("Handler.ashx?flag=data&index=" + index,
                  function(data) {
                    $("#sjxs tr").each(function(m) {
                      $("#add" + m).remove();
                    });
                    $("#sjxs").append(data);
                  });
              };
              pager.render();
            }
        );
        });
      </script>
    </head>
    <body>
      <form id="form1" runat="server">
      <fieldset>
      <legend>查询结果</legend>
      <%--<div>--%>
      <table cellpadding="0" cellspacing="0" id="sjxs">
      <tr>
      <td colspan="5">当前发票库存情况</td>
      <td colspan="4">购买后一年(含)以上未验旧使用情况</td>
      <td></td>
      </tr>
      <tr>
      <td>管理机关</td>
      <td>合计</td>
      <td>机打发票</td>
      <td>手工发票</td>
      <td>冠名发票</td>
      <td>其他</td>
      <td>正常户</td>
      <td>占库存户数的比率</td>
      <td>非正常户</td>
      <td>证件失效户</td>
      </tr>
      <tr>
      <td>0</td>
      <td>1</td>
      <td>2</td>
      <td>3</td>
      <td>4</td>
      <td>5</td>
      <td>6</td>
      <td>7=6/1</td>
      <td>8</td>
      <td>9</td>
      </tr>
      </table>
      <%--</div>--%>
      </fieldset>
       <div id="pager"></div>
       <div id="info"></div>
      </form>
    </body>
    </html>
    处理页面程序如下:
    <%@ WebHandler Language="C#" Class="Handler" %>
    using System;
    using System.Web;
    using System.Data;
    using System.Data.SqlClient;
    using System.Text;
    public class Handler : IHttpHandler {
      public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        if (context.Request.QueryString["flag"].Equals("data"))
        {
          context.Response.Write(GetResult(5,Int32.Parse(context.Request.QueryString["index"])));
        }
        if (context.Request.QueryString["flag"].Equals("count"))
        {
          context.Response.Write(getCount());
        }
      }
      private string GetResult()
      {
        DataTable dt = new DataTable();
        using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["conn"]))
        {
          conn.Open();
          string sql = "SELECT * FROM TestBlog ";
          SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
          sda.Fill(dt);
        }
        int rLen = dt.Rows.Count;
        int cLen = dt.Columns.Count;
        StringBuilder sb = new StringBuilder();
        for (int j = 0; j < rLen; j++)
        {
          sb.Append("<tr>");
          for (int i = 0; i < cLen; i++)
          {
            sb.Append("<td>");
            sb.Append(dt.Rows[j][i].ToString());
            sb.Append("</td>");
          }
          sb.Append("</tr>");
        }
        return sb.ToString();
      }
      private string GetResult(int pagecount,int currentpage)
      {
        DataTable dt = new DataTable();
        using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["conn"]))
        {
          conn.Open();
          string sql = "SELECT TOP "+pagecount+" * FROM TestBlog tb WHERE ydid NOT IN (SELECT TOP "+pagecount*(currentpage-1)+" ydid FROM TestBlog tb2) ";
          SqlDataAdapter sda = new SqlDataAdapter(sql,conn);
          sda.Fill(dt);
        }
        int rLen = dt.Rows.Count;
        int cLen = dt.Columns.Count;
        StringBuilder sb = new StringBuilder();
        for (int j = 0; j < rLen; j++)
        {
          sb.Append("<tr id=add"+j+">");
          for (int i = 0; i < cLen; i++)
          {
            sb.Append("<td>");
            sb.Append(dt.Rows[j][i].ToString());
            sb.Append("</td>");
          }
          sb.Append("</tr>");
        }
        return sb.ToString();
      }
      private string getCount()
      {
        DataTable dt = new DataTable();
        using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["conn"]))
        {
          conn.Open();
          string sql = "select count(*) from testblog";
          SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
          sda.Fill(dt);
        }
        return dt.Rows[0][0].ToString();
      }
      public bool IsReusable {
        get {
          return false;
        }
      }
    }
    可惜的是,在ie7中显示不出来结果,但是在chrome、firefox和opera中倒是显示都正常,感兴趣的朋友可以对此加以完善。
    希望本文所述对大家asp.net程序设计有所帮助。
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/21 4:18:00