データベース内の既存の項目を表示する C# アプリケーションに CheckedListBox があります。ここで、サプライヤごとに、サプライヤが提供するアイテムを確認したいと思います。以下は、私がこれまでに行ったことです。
string sel_supplied = "SELECT * FROM item_supplier WHERE supplier_id='" + hid_supid.Text + "'";
MySqlCommand cmd_supplied = new MySqlCommand(sel_supplied, Class_Connection.conn);
try
{
MySqlDataReader rdr_supplied = cmd_supplied.ExecuteReader();
while (rdr_supplied.Read())
{
MessageBox.Show("Item: " + rdr_supplied["item_id"]);
int i=0;
foreach (DataRowView row in chklist_items.Items)
{
//MessageBox.Show(row[chklist_items.ValueMember].ToString());
if (row[chklist_items.ValueMember].ToString() == rdr_supplied["item_id"].ToString())
{
chklist_items.SetItemChecked(i, true);
}
i++;
}
}
rdr_supplied.Close();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
しかし、リストが変更されており(実行時にチェックされているため)、リストの変更に列挙子を使用できないという例外を生成するコード。
どんな助けでも大歓迎です。