日期:2014-05-18  浏览次数:20689 次

还是关于返回值的问题
public DataTable DT()
{
  创建内存表
  foreach()
  {
  给内存表填充数据
  }
  table.AcceptChanges();
  return table; 
}
就这样,返回值还是一个空的,我想请教各位,如何才能把已有数据的表返回,请给个详细的方法,谢谢!

------解决方案--------------------
你只创建了行,并没有添加入表中,加上:dt1.Rows.Add(drow);

C# code

 public DataTable DT()  
{  
   DataTable dt1=new DataTable(); 
   DataColumn dc= new DataColumn(); 
   dc.DataType=System.Type.GetType("System.String"); 
   dc.ColumnName="Column1"; 
   dt1.Columns.Add(dc); 
   foreach(DataRow dr in dt2.rows)//dt2为另一张已知表,并且有数据  
     { 
        DataRow drow = dt1.NewRow(); //该句只是根据表结构创建新行
        drow["Column1"] = dr[dt2.UserNameColumn]; 
        dt1.Rows.Add(drow); //该句把行加入表中
    }  
  table.AcceptChanges();  
  return table;   
}