【发布时间】:2011-10-25 14:40:08
【问题描述】:
在下面的示例中,它返回了 2 行,并且 importrow 没有抛出任何异常,但是当我在 foreach 之后看到数据表时它是空的,它也应该有 2 行。
foreach (int refmDossierId in distinctREFMDossierIds)
{
DataRow[] datarows =
_uc090_WingsIntegrationDataSet.WingsBookingInterface.Select("REFMDossierID =" + refmDossierId);
if(datarows.Length>0)
{
foreach(DataRow dr in datarows)
{
_uc090_WingsIntegrationDataSet.WingsBookingInterface.Clear();
_uc090_WingsIntegrationDataSet.WingsBookingInterface.ImportRow(dr);
}
}
//2. foreach master row
foreach (UC090_WingsIntegrationDataSet.WingsBookingInterfaceRow row in _uc090_WingsIntegrationDataSet.WingsBookingInterface.Rows)
{
【问题讨论】:
-
我认为问题在于我在 foreach 内部进行了清理,我将该行移到了 foreach 之前,但是它还没有工作,它两次进入 foreach,但最后数据表是空的.
-
我看到的一个问题是您在每次导入之前都要清除表格,所以我希望最多只有一行。但是,也许对
_uc090_WingsIntegrationDataSet.WingsBookingInterface和UC090_WingsIntegrationDataSet.WingsBookingInterfaceRow是什么以及为什么在第一步中使用DataRow和第二步中的自定义类型进行一些解释可能会给我们更多的帮助。 -
确实,我希望有一行,但我解决了这个问题,但仍然看不到任何行。这些是类型化的数据集,我只需要过滤数据表,然后遍历结果。
-
您是否尝试过使用
foreach (DataRow row in _uc090_WingsIntegrationDataSet.WingsBookingInterface) 而不是UC090_WingsIntegrationDataSet.WingsBookingInterfaceRow? -
这不是我需要的,我会失去输入列的智能感知