본문 바로가기

개발 Tip/ASP .Net

[ASP.Net2.0] GridView RowSpan 적용예제

* GridView에 RowSpan 적용 예제

1. GridView에 RowSpan을 하기 위해서 aspx 소스상에서 GridView의 OnRowDataBound 이벤트를 선언해준다.
<asp:GridView id="grdResult" onRowDataBound="grdResult_RowDataBound"></asp:GridView>
2. aspx.cs 소스상에서 grdResult_RowDataBound 함수를 선언 후 RosSpan을 수행하는 함수 호출
   protected void grdResult_RowDataBound(object sender, GridViewRowEventArgs e)
   {
        RowSpanGridView(grdResult, 0);
RowSpanGridView(grdResult, 1);
}
   // 1번째 인자는 GridView 객체, 2번째 인자는 RosSpan할 칼럼의 인덱스(인덱스는 0부터 시작) public void RowSpanGridView(GridView gd, int c_index)    {         int rowSpan = 1;         string ls_tmp0;         string ls_tmp1;         for(int i = 0; i < gd.Rows.Count; i++)         {             if(i == (gd.Rows.Count; i++)             {                  gd.Rows[i-rowSpan+1].Cells[c_index].RowSpan = rowSpan;             }             else             {                  ls_tmp0 = gd.Rows[i].Cells[c_index].Text;                  ls_tmp1 = gd.Rows[i+1].Cells[c_index].Text;                                   if(ls_tmp0 == ls_tmp1)                  {                       rowSpan++;                       gd.Rows[i+1].Cells[c_index].Visible = false;                  }                  else                  {                       gd.Rows[i-rosSpan+1].Cells[c_index].RowSpan = rowSpan;                       rowSpan + 1;                  }             }         }    }