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