DATATABLE 行转列的,求救
DataTable1   数据集查询结果如下   
 year               A         B         C   
 2001               1         2         3 
 2002               3         4         5 
 2003               4         3         3   
 需要重新生成一数据集DataTable2,结果如下   
 year            2001         2002         2003 
 A                  1                  3                  4 
 B                  2                  4                  3 
 C                  3                  5                  3     
 请问,如何创建DATATABLE2   ,从而把dataTable1   数据集进行行转列操作。
------解决方案--------------------year 的值是否有重复?
------解决方案--------------------这个问题做过, 
 只是现在不记得了, 
 给我发邮件晚上回家给你 
 邮箱:ilrfn@163.com
------解决方案--------------------帮顶
------解决方案----------------------给你一个数据库处理的方法。 
 --SQL Server 2005   
 --测试环境   
 declare @t table( year1 int, a varchar(10), b varchar(10), c varchar(10)) 
 insert into @t select 2001,1,2,3 
 union all select 2002,3,4,5 
 union all select 2003,4,3,3   
 --测试语句 
 SELECT * FROM  
 ( 
 SELECT  YEAR,year1,Orders 
 FROM  
    (SELECT year1, a, b, c 
    FROM @t) p 
 UNPIVOT 
    (Orders FOR year IN  
       (a, b, c) 
 )AS unpvt 
 ) T 
  PIVOT 
 (MAX(ORDERS) 
  for year1 in ([2001],[2002],[2003]) 
 )as pt   
 --结果 
 /* 
 YEAR     2001    2002     2003 
 -----   ------  -----   -------- 
 a	1	3	4 
 b	2	4	3 
 c	3	5	3 
 */
------解决方案--------------------  假如没有,   
 DataTable dt2 = new DataTable(); 
 dt2.Columns.Add( "year ", typeof(string));    
 foreach(DataRow row in dt1.Rows) { 
   dt2.Columns.Add(row[ "year "].ToString(), typeof(int));    
 }   
 假如有, ->  
 如何对 DataTable 执行 SELECT DISTINCT  
 http://www.cnblogs.com/Jinglecat/archive/2007/07/16/820339.html     
 然后,   
 DataRow row; 
 string colName1; 
 for(int i=1; i  < dt1.Columns.Count; i++) {    
     row = dt2.NewRow();    
     colName1 = dt1.Columns[i].ColumnName; 
     row[ "year "] = colName1; 
     for(int j=1; j  < dt2.Columns.Count; j++) { 
        row[j] = dt2.Select( "year= " + dt2.Columns[j].ColumnName)[0][colName1]; 
    } 
 }