当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .Net中生成二维的表格的代码

ASP.NET
ASP.NET超凡的代码控制(二)
剖析ASP.NET下部构造(一)
剖析ASP.NET下部构造(二)
ASP.NET的Web controls(一)
ASP.NET的Web controls(二)
如何在页面上动态的生成 WebForm控件
再议正则表达式(这次是在asp.net 上的应用)
利用.NET框架简化发布和解决DLL Hell问题(1)
利用.NET框架简化发布和解决DLL Hell问题(2)
在ASP+中访问数据库
通过事例学习.net的WebForms技术(一)
通过事例学习.net的WebForms技术(二)
如何在aspx中得到在存储过程中的的数值(兼答jspfuns的问题)
如何得到一个汉字和字母组合的字符串的准确的长度(asp.net 版本的)
ASP+中取代ASP的RS(Remote Scripting)技术的Framework
通过事例学习.net的WebForms技术(三)
通过事例学习.net的WebForms技术(四)
通过事例学习.net的WebForms技术(五)
通过网络域名得到这台主机的IP地址
查看服务器磁盘、文件的aspx

ASP.NET 中的 .Net中生成二维的表格的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 243 ::
收藏到网摘: n/a

  找了很久才找到的在.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);
  }