ASP.NET中实现GridView合并

方法1:    
   #region 合并单元格
    protected void Unite(GridView gv)
    {
        int i;
        string LastType1;
        int LastCell;
        if (gv.Rows.Count > 0)
        {
            for (int j = 0; j < 6; j++)
            {
                if (j != 1 && j != 2 && j != 3)
                {
                    LastType1 = gv.Rows[0].Cells[j].Text;
                    gv.Rows[0].Cells[j].RowSpan = 1;
                    LastCell = 0;
                    for (k= 1; k< gv.Rows.Count; k++)
                    {
                        if (gv.Rows .Cells[j].Text == LastType1)
                        {
                            gv.Rows[k].Cells[j].Visible = false;
                            gv.Rows[LastCell].Cells[j].RowSpan++;
                        }
                        else
                        {
                            LastType1 = gv.Rows[k].Cells[j].Text;
                            LastCell = k;
                            gv.Rows[k].Cells[j].RowSpan = 1;
                        }
                    }
                }
            }
        }
    }
    #endregion

方法2:
http://blog.csdn.net/l18900201/archive/2008/09/27/2989076.aspx
方法3:
        protected void GridView1_DataBound(object sender, EventArgs e)
        {
            for (int i = 0; i < this.GridView1.Rows.Count; i++)
            {
                int i0 = i;
                string strCells0 = this.GridView1.Rows.Cells[0].Text;
                for (int j = i + 1; j < this.GridView1.Rows.Count; j++)
                {
                    if (strCells0 == this.GridView1.Rows[j].Cells[0].Text)
                    {
                        i++;
                    }
                }
                //垂直合併資料列的部份欄位
                if (i != i0)
                {
                    string strRowSpan = (i - i0 + 1).ToString();
                    this.GridView1.Rows[i0].Cells[0].Attributes.Add("rowspan", strRowSpan);
                    for (int x = i0 + 1; x <= i; x++)
                    {
                        this.GridView1.Rows[x].Cells.RemoveAt(0);
                    }
                }
            }
        }

你可能感兴趣的:(GridView)