修改自 藍色小鋪 豬豬泰芮陳 關於 GridView的合併儲存格,這裏有類似的程式,但我覺得豬豬泰芮陳寫得比較好。我改成多欄位合併,其餘沒動。
在[Asp.Net]GridView中根据前后列之间的关联关系合并单元格有更進階的做法,但不是我要的。
在[Asp.Net]GridView中根据前后列之间的关联关系合并单元格有更進階的做法,但不是我要的。
    protected void GridView1_PreRender(object sender, EventArgs e)
    {
        int[] mergeColumns = { 0, 1, 3, 4 }; //要合併的欄位
        foreach (int mergeColumn in mergeColumns)
        {
            int i = 1;
            foreach (GridViewRow wkItem in GridView1.Rows)
            {
                if (wkItem.RowIndex != 0)
                {
                    if (wkItem.Cells[mergeColumn].Text.Trim() == GridView1.Rows[(wkItem.RowIndex - i)].Cells[mergeColumn].Text.Trim())
                    {
                        GridView1.Rows[(wkItem.RowIndex - i)].Cells[mergeColumn].RowSpan += 1;
                        wkItem.Cells[mergeColumn].Visible = false;
                        i +=  1;
                    }
                    else
                    {
                        GridView1.Rows[(wkItem.RowIndex)].Cells[mergeColumn].RowSpan += 1;
                        i = 1;
                    }
                }
                else
                {
                    wkItem.Cells[mergeColumn].RowSpan = 1;
                }
            }
        }
留言