现在的位置: 首页 > 综合 > 正文

合并GridView中某列相同信息的行(单元格), 并底色斑马纹

2017年11月25日 ⁄ 综合 ⁄ 共 1515字 ⁄ 字号 评论关闭

         /// <summary>
        /// 合并GridView中某列相同信息的行(单元格)
        /// </summary>
        /// <param name="GridView1">GridView</param>
        /// <param name="cellNum">第几列</param>
        public static void GroupRows(GridView GridView1, int cellNum)
        {
            int i = 0, rowSpanNum = 1,ji=1;
            while (i < GridView1.Rows.Count - 1)
             {
                 GridViewRow gvr = GridView1.Rows[i];
 
                 for (++i; i < GridView1.Rows.Count; i++)
                 {        
                     GridViewRow gvrNext = GridView1.Rows[i];
                     if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text)
                     {
                         gvrNext.Cells[cellNum].Visible = false;
                         rowSpanNum++;
                     }
                     else
                     {
                         gvr.Cells[cellNum].RowSpan = rowSpanNum;
                         rowSpanNum = 1;
                         ji = ji + 1;
                         break;
                     }
 
                     if (i == GridView1.Rows.Count - 1)
                     {
                         gvr.Cells[cellNum].RowSpan = rowSpanNum;
                         ji = ji + 1;
                     }

                     if (ji % 2 == 1)
                     {
                         gvr.Cells[cellNum].BackColor = GridView1.RowStyle.BackColor;
                     }
                     else
                     {
                         gvr.Cells[cellNum].BackColor = GridView1.AlternatingRowStyle.BackColor;
                     }
                 }
             }
         }
 

 

ps: 写在公共模块里,定义为静态方法方便调用

抱歉!评论已关闭.