2010-11-14 81 views
0

必须有一个简单的答案: 我通过多个数据表要循环... 例如:通过DataTable.Id查找DataTable帮助!

for (int i = 1 ; i < 7 ; i ++) 
{ 
    DataTable dt = (DataTable) "dt" + i.toString(); 

    // do something with DataTable dt1 as DataTable 
    // ie... 

    int x = dt.Rows.Count 
} 

上面的代码显然是行不通的..但你如何找到一个DataTable像你这样FindControl与WebControls?我无法弄清楚。

+0

你怎么通常是指一个'DataTable'?是局部变量还是什么?你能举一个例子来说明你通常如何引用一个'DataTable'? – 2010-11-14 20:55:46

回答

0

嗯,你有

DataTable dt1 = new DataTable(); 
DataTable dt2 = new DataTable(); 
DataTable dt3 = new DataTable(); 
DataTable dt4 = new DataTable(); 
DataTable dt5 = new DataTable(); 
DataTable dt6 = new DataTable(); 
DataTable dt7 = new DataTable(); 
在您的项目

您应该然后创建数据表的列表:

List<DataTable> datatables = new List<DataTable>(); 

datatables.Add(new DataTable()); // dt1 (now datatables[0]) 
datatables.Add(new DataTable()); // dt2 (now datatables[1]) 
datatables.Add(new DataTable()); // dt3 (now datatables[2]) 
datatables.Add(new DataTable()); // dt4 (now datatables[3]) 
datatables.Add(new DataTable()); // dt5 (now datatables[4]) 
datatables.Add(new DataTable()); // dt6 (now datatables[5]) 
datatables.Add(new DataTable()); // dt7 (now datatables[6]) 

然后你可以循环是这样的:

foreach (DataTable dt in datatables) 
{ 
    // do something with DataTable dt as DataTable 
    // ie... 

    int x = dt.Rows.Count  
} 
+0

我需要通过一个For循环从另一个例程访问数据表,而不是在foreach中...他们被单独访问.. – CraigJSte 2010-11-14 21:11:44

+0

我认为你的方法可能工作,但如果我使用List(“dt”+ i.toString( )) 或类似的东西? – CraigJSte 2010-11-14 21:12:36

+0

另外它给了我一个想法,创建一个DataSet并使用ds.Tables(“dt”+ i)....? – CraigJSte 2010-11-14 21:13:22