• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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=dataindex=" + 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=dataindex=" + 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 style="width: 98%; border: solid 1px #EDF7DC;" class="fileset_style">
      legend class="leg_style">查询结果/legend>
      %--div style="overflow:scroll;width:100%;height:100%">--%>
      table border="1" cellpadding="0" cellspacing="0" width="100%" align="center" id="sjxs" class="TableStyleZB">
      tr class="trTitle">
      td colspan="5">当前发票库存情况/td>
      td colspan="4">购买后一年(含)以上未验旧使用情况/td>
      td>/td>
      /tr>
      tr class="trTitle">
      td>管理机关/td>
      td>合计/td>
      td>机打发票/td>
      td>手工发票/td>
      td>冠名发票/td>
      td>其他/td>
      td>正常户/td>
      td>占库存户数的比率/td>
      td>非正常户/td>
      td>证件失效户/td>
      /tr>
      tr class="trTitle">
      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程序设计有所帮助。

    您可能感兴趣的文章:
    • ASP.NET中DataTable与DataSet之间的转换示例
    • Asp.net中DataTable导出到Excel的方法介绍
    • asp.net 读取Excel数据到DataTable的代码
    • ASP.NET DataTable去掉重复行的2种方法
    • Asp.net实现选择性的保留DataTable中的列
    • ASP.NET中实现根据匿名类、datatable、sql生成实体类
    • asp.net实现数据从DataTable导入到Excel文件并创建表的方法
    • asp.net使用DataTable构造Json字符串的方法
    • 在ASP.NET 2.0中操作数据之六十八:为DataTable添加额外的列
    • asp.net DataTable相关操作集锦(筛选,取前N条数据,去重复行,获取指定列数据等)
    上一篇:ASP.NET MVC4 HtmlHelper扩展类,实现分页功能
    下一篇:浅析ASP.NET路由模型工作原理
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    asp.net异步获取datatable并显示的实现方法 asp.net,异步,获取,datatable,