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 に答える