.net
DataSet 행과 열 뒤집기
duraboys
2007. 5. 3. 12:01
/// <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 에는 데이터저장의 효율성을 위해서 수직으로 넣어놓은
데이터를 사람이 볼 때는 수평으로 봐야할 때가 있다..
이걸 쿼리에서 처리할 수도 있지만, 양이 많지 않다면(?)^^
위의 메소드를 이용하면 더 쉽지 않을까 싶다..