62,046
社区成员
发帖
与我相关
我的任务
分享
protected void Page_Load(object sender, EventArgs e)
{
ConvertTable();
}
protected void ConvertTable()
{
DataTable dtA = new DataTable();
dtA.Columns.Add("id", typeof(string));
dtA.Columns.Add("name", typeof(string));
dtA.Columns.Add("chengji", typeof(string));
dtA.Columns.Add("zongfen", typeof(string));
dtA.Columns.Add("time", typeof(string));
//添加数据
dtA.Rows.Add("1", "张三", "90", "92", "2012-01-27");
dtA.Rows.Add("2", "张三", "95", "99", "2012-02-27");
dtA.Rows.Add("3", "张三", "96", "98", "2012-03-27");
dtA.Rows.Add("4", "张三", "85", "96", "2012-04-27");
dtA.Rows.Add("5", "张三", "85", "96", "2012-05-27");
dtA.Rows.Add("6", "张三", "85", "96", "2012-06-27");
dtA.Rows.Add("7", "张三", "85", "96", "2012-07-27");
//把dtA转换为dtB
DataTable dtB = new DataTable();
dtB.Columns.Add("月份A", typeof(string));
dtB.Columns.Add("成绩A", typeof(string));
dtB.Columns.Add("总分A", typeof(string));
dtB.Columns.Add("月份B", typeof(string));
dtB.Columns.Add("成绩B", typeof(string));
dtB.Columns.Add("总分B", typeof(string));
dtB.Columns.Add("月份C", typeof(string));
dtB.Columns.Add("成绩C", typeof(string));
dtB.Columns.Add("总分C", typeof(string));
DataRow dr = dtB.NewRow();
int flag = 0;
for (int i = 0; i < dtA.Rows.Count; i++)
{
if (i % 3 == 0 && i != 0)
{
flag = 0;
dtB.Rows.Add(dr);
dr = dtB.NewRow();
dr[flag * 3] = DateTime.Parse(dtA.Rows[i]["time"].ToString()).Month.ToString() + "月";
dr[flag * 3 + 1] = dtA.Rows[i]["chengji"].ToString();
dr[flag * 3 + 2] = dtA.Rows[i]["zongfen"].ToString();
}
else
{
dr[flag * 3] = DateTime.Parse(dtA.Rows[i]["time"].ToString()).Month.ToString() + "月";
dr[flag * 3 + 1] = dtA.Rows[i]["chengji"].ToString();
dr[flag * 3 + 2] = dtA.Rows[i]["zongfen"].ToString();
flag++;
}
if (i == dtA.Rows.Count - 1)
{
while (flag < 2)
{
flag++;
dr[flag * 3] = "";
dr[flag * 3 + 1] = "";
dr[flag * 3 + 2] = "";
}
dtB.Rows.Add(dr);
}
}
//输入头
foreach (DataColumn c in dtB.Columns)
{
Response.Write(c.ColumnName);
Response.Write(" ");
}
Response.Write("<br/>");
//输出测试结果
foreach (DataRow item in dtB.Rows)
{
foreach (object c in item.ItemArray)
{
Response.Write(c.ToString());
Response.Write(" ");
}
Response.Write("<br/>");
}
}