2014-03-28 31 views
0

我使用Datatable作为Crystal报表的数据源,但由于数据量很大,导致报表速度很慢,因此我使用empdepttbl作为数据表,此循环将数据设定为数据表如何向C#中的数据表添加数组和数据列

for (i = 0; i < dt.Rows.Count; i++) 
     { 
      empdepttbl.Rows.Add(new Object[]{dt.Rows[i][7].ToString(),month[mon],dt.Rows[i][2].ToString(),dt.Rows[i][3].ToString(),dt.Rows[i][4].ToString(),string.Format("{0:#,###0}",t)}); 
     } 

DT的行是其中包含从数据库中选择数据的数据表..

所以,如何可以直接设置数据,而无需使用循环?

+0

的DT直接是什么(DT)哪里来? 以及为什么从dt获取数据并将其设置为empdepttbl? – SOFKiNG

+0

dt是可数据存储从数据库中选择的数据,empdepttbl具有多于dt的字段,如您所见,我将数据从变量和dt设置为empdepttbl .. –

+0

为什么没有存储期望的数据直接在dt中? 选择(必填数据)并在dt中设置! – SOFKiNG

回答

0

试试这个,不要忘记标记作为答案,如果工作

foreach(var item in dt) 
{ 
empdepttbl.Rows.Add(new Object[]{item [7].ToString(),month[mon],item [2].ToString(),item [3].ToString(),item [4].ToString(),string.Format("{0:#,###0}",t)}); 
} 

,您可以使用水晶报表数据源

+0

它不起作用 –

+0

更改代码你想插入什么我不知道你的数据表包含 – SOFKiNG

+0

检查我的答案更新 – SOFKiNG