/// <summary>
/// 주어진 DataSet 의 첫번째 DataTable의 첫번째 열의 데이터들을 컬럼이름으로
{
DataSet dsReturn = new DataSet();
DataTable dt = dsReturn.Tables.Add();
DataRow dr;
DataColumn dc;
/// 주어진 DataSet 의 첫번째 DataTable의 첫번째 열의 데이터들을 컬럼이름으로
/// Inversed DataSet 을 반환환다.
/// </summary>
/// <param name="ds">변환하고자 하는 DataSet</param>
/// <returns>행과 열이 뒤집어진 DataSet</returns>
{
DataSet dsReturn = new DataSet();
DataTable dt = dsReturn.Tables.Add();
DataRow dr;
DataColumn dc;
for( int i = 0; i < ds.Tables[0].Rows.Count; i++)
dc = dt.Columns.Add(i.ToString()); // 컬럼 이름 고유로
for( int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
dr = dt.NewRow();
for ( int k = 0; k < ds.Tables[0].Rows.Count; k++ )
dr[k] = ds.Tables[0].Rows[k][j];
dt.Rows.Add(dr);
}
dsReturn.AcceptChanges();
return dsReturn;
}
종종 데이터를 보여주려고 할 때, DB 에는 데이터저장의 효율성을 위해서 수직으로 넣어놓은
데이터를 사람이 볼 때는 수평으로 봐야할 때가 있다..
이걸 쿼리에서 처리할 수도 있지만, 양이 많지 않다면(?)^^
위의 메소드를 이용하면 더 쉽지 않을까 싶다..
'.net' 카테고리의 다른 글
페이지 요청(request)간 상태(state)를 유지하기위한 9가지 방법 (0) | 2007.05.03 |
---|---|
DataGrid RowSpan(중복데이타합치기) (1) | 2007.05.03 |
포스트백이 일어나기전의 스크롤 상태 유지하기 (3) | 2007.05.03 |
ASP.NET with Oracle (1) | 2007.05.03 |
viewstate변수를 이용한 history.go() (1) | 2007.05.03 |