そのため、チェックボックスの値メンバーを取得しようとしているcheckListBoxがあります。現在、1つのアイテムのselectedValueを取得できます。複数の項目がチェックされている場合、それぞれに対して同じselectedValueを取得します。
ボックスは次のように入力されます...
SqlConnection cn = new SqlConnection(Properties.Settings.Default.cs);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("usp_getCustomers, cn);
DataSet ds = new DataSet();
da.Fill(ds, "usp_getCustomers");
chkListCustomer.DataSource = ds;
chkListCustomer.DisplayMember = "usp_getCustomers.name";
chkListCustomer.ValueMember = "usp_getCustomers.id";
chkListCustomer.SelectedIndex = -1;
ボタンをクリックすると、これは私が試して選択した値を取得するために行っていることです。1つのアイテムに適切なIDが与えられますが、複数のアイテムがチェックされている場合は、すべてに同じIDが返されます。
foreach (int indexChecked in chkListCustomer.CheckedIndices)
{
MessageBox.Show("Index#: " + indexChecked.ToString() + ", is checked. Checked state is:" + chkListCustomer.SelectedValue.ToString() + ".");
}
出力例は次のとおりです。
"Index#: 1, is checked. Checked state is:984"
"Index#: 2, is checked. Checked state is:984"
"Index#: 3, is checked. Checked state is:984"
助けてくれてありがとう!