1

我正在尝试根据某些标准在复选框中设置以编程方式检查的项目。这是代码:

int chItm = 0;

foreach (DataRowView row in chLBDatumi.Items)
 {                
     if (row["DatumGO"].ToString().Equals(myListItems[chItm].ToString()))
     {
          chLBDatumi.SetItemChecked(chItm, true);
     }
     chItm++;                
 }

但它抛出异常:

此枚举器绑定到的列表已被修改。仅当列表不变时才能使用枚举器。

有没有其他方法可以做到这一点?

4

1 回答 1

4

使用for循环而不是foreach

for (int i = 0; i < chLBDatumi.Items.Count(); i++)
{                
    if (chLBDatumi.Items[i]["DatumGO"].ToString().Equals(myListItems[chItm].ToString()))
     {
         chLBDatumi.SetItemChecked(chItm, true);
     }
    chItm++;                
}
于 2015-09-11T11:26:15.517 回答