我正在尝试为图像创建缩略图并在DataGrid中显示该缩略图。我之前做过类似的事情,但是这段代码有些不同,我在foreach上收到此错误:
错误2185 foreach语句无法对类型为'System.Data.DataSet'的变量进行操作,因为'System.Data.DataSet'不包含'GetEnumerator'的公共定义
protected void LoadVehicle(string Reg)
{
if (Request.QueryString["type"] == "vehicle")
{
int vehCount = 1;
DataSet veh = DataUtils.GetVehicleFromReg(Company.Current.CompanyID, Reg);
foreach (Vehicle vehicle in veh)
{
tabsPOD.Controls.Add(GetDivVehicle(vehCount, vehicle));
vehCount++;
}
}
}
我正在尝试复制以下类似代码:
protected void LoadDockets(int JobID)
{
if (Request.QueryString["type"] == "dbrief")
{
int DbriefCount = 1;
List<JobPieceSerialNo> Serials = JobPieceSerialNo.GetJobPieceSerialsByJob(JobID);
foreach (JobPieceSerialNo serNo in Serials)
{
tabsPOD.Controls.Add(GetDivDbrief(DbriefCount, serNo));
DbriefCount++;
}
}
}
问题是GetVehicleFromReg保存在一个名为DataUtilies的文件中,但随后所有车辆的属性都保存在一个名为Vehicles的类文件中。
问题在于,数据集用表和行表示整个数据。您无法迭代。您可以迭代所有表:
foreach(DataTable table in dataSet.Tables)
甚至是表中的所有行:
foreach(DataRow row in table.Rows)
如果我可以假设您的数据集中只有一个表,那么您可以编写如下内容:
foreach(DataRow row in veh.Tables[0].Rows)
但是id取决于数据集的确切数据结构。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句