/// DataGrid 주어진 ColumnIndex 의 컬럼을 RowSpan 합니다.
/// </summary>
/// <param name="dataGrid">적용할 데이타 그리드 객체</param>
/// <param name="columnIndex">RowSpan 할 컬럼 인덱스</param>
public static void RowSpan(DataGrid dataGrid, int columnIndex)
{
int rowCount = 1;
string partString0;
string partString1;
for(int i = 0; i < dataGrid.Items.Count; i++)
{
if(i.Equals(dataGrid.Items.Count-1))
dataGrid.Items[i - rowCount + 1].Cells[columnIndex].RowSpan = rowCount;
else
{
HyperLink hlk1
= dataGrid.Items[i].Cells[columnIndex].Controls[0] as HyperLink;
HyperLink hlk2
= dataGrid.Items[i + 1].Cells[columnIndex].Controls[0] as HyperLink;
if ( hlk1 != null && hlk2 != null)
// HyperLink 를 가지고 있는 컬럼일 경우
{
partString0 = hlk1.Text;
partString1 = hlk2.Text;
}
else // 기본으로 Text만 가지고 있는 컬럼일 경우
{
partString0 = dataGrid.Items[i].Cells[columnIndex].Text;
partString1 = dataGrid.Items[i + 1].Cells[columnIndex].Text;
}
if(partString0.Equals(partString1))
{
rowCount++;
dataGrid.Items[i + 1].Cells[columnIndex].Visible = false;
}
else
{
dataGrid.Items[i - rowCount + 1].Cells[columnIndex].RowSpan = rowCount;
rowCount = 1;
}
}
}
}
그리드에 화면에 뿌릴때..
데이타 1
---------
A
A
A
B
B
B
-------------
이렇게 있을 경우
데이타 1
--------
A
B
--------
이런식으로 머지 시켜주는 함수입니다. 쓸모있겠죠..^^
실제 프로젝트에서 썼던 함수입니다.
유용하게 결정적으로 사용하시기 바랍니다
'.net' 카테고리의 다른 글
DataGrid, DataList, Repeater에서 순차적인 번호 표시 (0) | 2007.05.03 |
---|---|
페이지 요청(request)간 상태(state)를 유지하기위한 9가지 방법 (0) | 2007.05.03 |
DataSet 행과 열 뒤집기 (0) | 2007.05.03 |
포스트백이 일어나기전의 스크롤 상태 유지하기 (3) | 2007.05.03 |
ASP.NET with Oracle (1) | 2007.05.03 |