//CheckedListBox跟数据库绑定
private void button1_Click(object sender, EventArgs e)
{
string sqlQuery = "SELECT studentID, studentName FROM t_a ";
DataSet ds = DBUtilty.DBHelp.ReadDataFrom_SQL(sqlQuery);
//this.dgv1.DataSource = ds.Tables[0];
checkedListBox1.DataSource = ds.Tables[0];
checkedListBox1.ValueMember = "studentID"; //对应实际值-学生工号
checkedListBox1.DisplayMember = "studentName"; //显示值-学生姓名
} //获取选中的内容
private void button2_Click(object sender, EventArgs e)
{
string s = "";
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
//取出已经选择的学生工号,该行代码有问题...
s = s + checkedListBox1.Items[i].ToString();
s = s + "\r\n";
}
} MessageBox.Show(s);
}
private void button1_Click(object sender, EventArgs e)
{
string sqlQuery = "SELECT studentID, studentName FROM t_a ";
DataSet ds = DBUtilty.DBHelp.ReadDataFrom_SQL(sqlQuery);
//this.dgv1.DataSource = ds.Tables[0];
checkedListBox1.DataSource = ds.Tables[0];
checkedListBox1.ValueMember = "studentID"; //对应实际值-学生工号
checkedListBox1.DisplayMember = "studentName"; //显示值-学生姓名
} //获取选中的内容
private void button2_Click(object sender, EventArgs e)
{
string s = "";
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
//取出已经选择的学生工号,该行代码有问题...
s = s + checkedListBox1.Items[i].ToString();
s = s + "\r\n";
}
} MessageBox.Show(s);
}
private void button2_Click(object sender, EventArgs e)
{
string s = "";
string s2 = "";
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
//取出已经选择的学生工号
//s = s + checkedListBox1.Items[i].ToString();
s = s + checkedListBox1.SelectedValue.ToString();
s = s + "\r\n";
}
} MessageBox.Show(s);
}
这个属性不行么?
{
string s = "";
string s2 = "";
string s3 = "";
string s4 = ""; for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
//取出已经选择的学生工号
//s返回值90906 90906 90906
//选择三条不同的记录,学生工号都显示为第三次选择的值(最后一次选择)
s = s + checkedListBox1.SelectedValue.ToString();
s = s + "\r\n"; //s2返回值
//System.Data.DataRowView System.Data.DataRowView System.Data.DataRowView
s2 = s2 + checkedListBox1.SelectedItem.ToString();
s2 = s2 + "\r\n"; //s3返回值
//System.Windows.Forms.ListBox+SelectedObjectCollection
//System.Windows.Forms.ListBox+SelectedObjectCollection
//System.Windows.Forms.ListBox+SelectedObjectCollection
s3 = s3 + checkedListBox1.SelectedItems.ToString();
s3 = s3 + "\r\n"; //s4返回值
//System.Data.DataRowView System.Data.DataRowView System.Data.DataRowView
s4 = s4 + checkedListBox1.Items[i].ToString();
s4 = s4 + "\r\n";
}
} MessageBox.Show(s);
}
{
s+="\r\n"+item.tostring();
} 我猜你是不是想将选中了其复选框的项的值收集起来,那就用上面的checkeditems吧,selecteditems不准确!
另外,上面的只要项的复选框不是未被选中的,即不确定的也会出现在里面!如果你明确要必须选中的项可以加一个条件判断:
if(checkedListBox1.GetItemCheckState(checkedListBox1.Items.IndexOf(item))==CheckedState.Checked)s+="\r\n"+item.tostring();