所以,我有一个 checkListBox,我试图获取复选框的值成员。目前,我可以获得一项的 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;
单击按钮,这就是我要尝试并获取所选值的操作。它为我提供了一个项目的正确 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"
谢谢您的帮助!