.Net中生成二维的表格的代码 分享

 更新时间:2013年07月24日 10:58:30   作者:  
找了很久才找到的在.NET中生成二维表格的代码,不敢独享,现在就贴出来给大家看看,相信对大家有所帮助。
代码如下:
复制代码 代码如下:

  void Page_Load(object o, EventArgs e)
  ...{
  DataTable dt = GetData(); //assume GetData returns the DataTable
  //probably better to use Hashtable for depts and months too, but to keep the order, let's use ArrayList
  string sSeparator = ":";
  ArrayList alDept = new ArrayList(); //种类
  ArrayList alMonth = new ArrayList(); //代码
  Hashtable ht = new Hashtable();
  foreach (DataRow dr in dt.Rows)
  {
  string sDept = dr["c"].ToString();
  string sMonth2 = dr["p"].ToString();
  //将产地代码转换为产地名称
  string sMonth = GetData2(sMonth2);
  if (!alDept.Contains(sDept))
  alDept.Add(sDept);
  if (!alMonth.Contains(sMonth))
  alMonth.Add(sMonth);
  ht[sDept+ sSeparator + sMonth] = dr["a"];
  }
  TableRow tr = new TableRow();
  TableCell tc = new TableCell();
  //tc.Text = " ";
  //tr.Cells.Add(tc);
  foreach (string sDept in alDept)
  {
  int i=0; //用于计算某一种类的数量
  foreach (string sMonth in alMonth)
  {
  if(ht[sDept+ sSeparator + sMonth]==null)
  {
  i=i+0;
  }
  else
  {
  i = i + int.Parse(ht[sDept+ sSeparator + sMonth].ToString());
  }
  }
  tc = new TableCell();
  tc.Text= sDept+"("+i+")";
  tr.Cells.Add(tc);
  }
  /**//*foreach (string sDept in alDept)
  {
  tc = new TableCell();
  tc.Text= sDept;
  tr.Cells.Add(tc);
  } */
  Table1.Rows.Add(tr);
  foreach (string sMonth in alMonth)
  {
  tr = new TableRow();
  /**//*tc = new TableCell();
  tc.Text = sMonth;
  tr.Cells.Add(tc);*/
  foreach (string sDept in alDept)
  {
  tc = new TableCell();
  if(ht[sDept+ sSeparator + sMonth]==null)
  {
  tc.Text=sMonth+"(0)";
  }
  else
  {
  tc.Text = sMonth+"("+ ht[sDept+ sSeparator + sMonth].ToString()+")";
  }
  tr.Cells.Add(tc);
  }
  Table1.Rows.Add(tr);
  }
  }
  Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
  //
  // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  //
  InitializeComponent();
  base.OnInit(e);
  }
  /**//// 
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// 
  private void InitializeComponent()
  {
  this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
  public DataTable GetData()
  {
  StatisticsB stat=new StatisticsB();
  DataSet dataset=stat.byStone();
  return dataset.Tables["stat"];
  }
  //取得名称列表
  public string GetData2(string statid)
  {
  StatisticsB stat=new StatisticsB();
  return stat.changeToName(statid);
  }

相关文章

  • GridView选择记录同时confirm用户确认删除

    GridView选择记录同时confirm用户确认删除

    confirm用户确认删除是一个很实用的功能,比如可以防止用户误操作删除等等,感兴趣的朋友可以了解下,希望本文对你有所帮助,就当巩固知识了
    2013-01-01
  • ASP.NET中的URL过滤实现代码

    ASP.NET中的URL过滤实现代码

    最近做的一个Web项目需要对URL进行过滤,在网上搜了一下,知道J2EE有个Filter的东西,而在.NET方面,其实也可以实现
    2013-01-01
  • VS2015下OpenGL库配置教程

    VS2015下OpenGL库配置教程

    这篇文章主要为大家详细介绍了visual studio 2015下OpenGL库的配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • .NET某消防物联网后台服务内存泄漏分析

    .NET某消防物联网后台服务内存泄漏分析

    这篇文章主要为大家介绍了.NET某消防物联网后台服务内存泄漏分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • xUnit 编写 ASP.NET Core 单元测试的方法

    xUnit 编写 ASP.NET Core 单元测试的方法

    这篇文章主要介绍了xUnit 编写 ASP.NET Core 单元测试的方法,文中代码非常详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 如何在ASP.Net Core使用分布式缓存的实现

    如何在ASP.Net Core使用分布式缓存的实现

    这篇文章主要介绍了如何在ASP.Net Core使用分布式缓存的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • .NET必知的EventCounters性能指标监视器详解

    .NET必知的EventCounters性能指标监视器详解

    这篇文章主要介绍了.NET必知的EventCounters性能指标监视器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • ASP.NET MVC学习之NuGet在VS中的运用浅谈

    ASP.NET MVC学习之NuGet在VS中的运用浅谈

    这篇文章主要给大家介绍了关于ASP.NET MVC学习之NuGet在VS中运用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2018-01-01
  • asp.net 通过aspnetpager为DataList分页

    asp.net 通过aspnetpager为DataList分页

    今天整了半天才把DataList的分页搞定,下面把我的设计过程给大家讲讲
    2009-12-12
  • asp.net微信开发(高级群发图文)

    asp.net微信开发(高级群发图文)

    这篇文章主要介绍了asp.net微信开发中有关高级群发图文的相关内容,需要的朋友可以参考下
    2015-11-11

最新评论