转自:http://blog.csdn.net/net_lover/article/details/6692093

完全的源代码如下

[csharp] view plaincopy
  1. <%@ Page Language="C#" %>  
  2.   
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
  4.  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  5. <script runat="server">  
  6.   protected void Page_Load(object sender, EventArgs e)  
  7.   {  
  8.     System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser");  
  9.     System.Data.DataRow dr;  
  10.   
  11.     dataTable1.Columns.Add(new System.Data.DataColumn("Type"typeof(System.String)));  
  12.     dataTable1.Columns.Add(new System.Data.DataColumn("Count1"typeof(System.Int32)));  
  13.     dataTable1.Columns.Add(new System.Data.DataColumn("Count2"typeof(System.Int32)));  
  14.     Random r = new Random();  
  15.     for (int i = 0; i < 8; i++)  
  16.     {  
  17.       dr = dataTable1.NewRow();  
  18.   
  19.       if (i < 8) dr[0] = "C";  
  20.       if (i < 6) dr[0] = "B";  
  21.       if (i < 3) dr[0] = "A";  
  22.   
  23.       dr[1] = r.Next(0, 100);  
  24.       dr[2] = r.Next(0, 100);  
  25.       dataTable1.Rows.Add(dr);  
  26.     }  
  27.   
  28.     System.Data.DataView dv = dataTable1.DefaultView;  
  29.     System.Data.DataTable dataTable2 = dv.ToTable(true"Type");  
  30.     System.Data.DataTable dataTable3 = dataTable1.Clone();  
  31.     int totalCount1 = 0, totalCount2 = 0;  
  32.     for (int i = 0; i < dataTable2.Rows.Count; i++)  
  33.     {  
  34.       String type = dataTable2.Rows[i][0].ToString();  
  35.       System.Data.DataRow[] rs = dataTable1.Select("Type='" + type + "'");  
  36.       int count1 = 0, count2 = 0;  
  37.   
  38.       for (int j = 0; j < rs.Length; j++)  
  39.       {  
  40.         count1 += Convert.ToInt32(rs[j]["Count1"]);  
  41.         count2 += Convert.ToInt32(rs[j]["Count2"]);  
  42.         dataTable3.ImportRow(rs[j]);  
  43.       }  
  44.       dr = dataTable3.NewRow();  
  45.       dr[0] = "合计";  
  46.       dr[1] = count1;  
  47.       dr[2] = count2;  
  48.       totalCount1 += count1;  
  49.       totalCount2 += count2;  
  50.       dataTable3.Rows.Add(dr);  
  51.     }  
  52.     dr = dataTable3.NewRow();  
  53.     dr[0] = "总合计";  
  54.     dr[1] = totalCount1;  
  55.     dr[2] = totalCount2;  
  56.     dataTable3.Rows.Add(dr);  
  57.   
  58.     this.GridView1.DataSource = dataTable3;  
  59.     this.GridView1.DataBind();  
  60.   }  
  61.   
  62.   protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)  
  63.   {  
  64.     if (e.Row.Cells[0].Text.Trim().Equals("合计"))  
  65.     {  
  66.       e.Row.Style.Add("color""#d00");  
  67.     }  
  68.     else if (e.Row.Cells[0].Text.Trim().Equals("总合计"))  
  69.     {  
  70.       e.Row.Style.Add("color""#00d");  
  71.       e.Row.Style.Add("background""#f33");  
  72.     }  
  73.   }  
  74. </script>  
  75. <html xmlns="http://www.w3.org/1999/xhtml">  
  76. <head id="Head1" runat="server">  
  77.   <title></title>  
  78. </head>  
  79. <body>  
  80.   <form id="form1" runat="server">  
  81.   <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">  
  82.   </asp:GridView>  
  83.   </form>  
  84. </body>  
  85. </html>  


运行效果

 posted on 2014-01-17 10:05  纳米程序员  阅读(168)  评论(0编辑  收藏  举报