.Net中生成二维的表格的代码 分享
网络编程 2021-07-04 22:40www.168986.cn编程入门
找了很久才找到的在.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);
}
代码如下:
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);
}
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程