GridView<asp:TemplateField>合并信息相同的行

  public static void GroupItemTemplate(GridView  GridView1, int cols)
    {
     if(GridView1.Rows.Count<1||cols>GridView1.Rows[0].Cells.Count-1)
     {
         return;
    
     }
     Label lbl1 = (Label)GridView1.Rows[0].Cells[cols].FindControl("PLANNAME");
     TableCell oldTc = GridView1.Rows[0].Cells[cols];
     for (int i = 1; i < GridView1.Rows.Count; i++)
        {
            TableCell tc = GridView1.Rows[i].Cells[cols];
            Label lbl2 = (Label)GridView1.Rows[i].Cells[cols].FindControl("PLANNAME");
            if (lbl1.Text == lbl2.Text)
            {
                lbl2.Visible = false;

                if (oldTc.RowSpan == 0)
                {
                    oldTc.RowSpan = 1;

                }

                oldTc.RowSpan++;
              
            }
            else
            {

                lbl1 = lbl2;
                oldTc = tc;
            }

        }
   
    }

先将需要的值全部初始化:

行数设为0,字符串的值设为String.Empty,以及最后一个相同值的行的索引设为0

1  如果行数大于0,

       那么将需要合并的第一行第N列的值赋值给初始化的字符串对象。

       第一行第N列的行合并值设为1

2 当行数小于GridView对象的总行数时,执行

    2.1 先判断第二行的值是否等于第一行的值

          如果相等的话,那么第二行的可见属性就为false.

          并且这一行的第N列的航合并值自增1;

        

          如果不相等的话,将第i行第N列的值赋值给初始化的字符串,

         将这一行的索引赋值给初始化的整型变量

         将第i行第N列的合并行数的值设为1.

       

         

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值