110,499
社区成员
发帖
与我相关
我的任务
分享
for (int indexChecked = checkedListBox1.Items.Count - 1; indexChecked >= 0; indexChecked--)
{
if (checkedListBox1.GetItemChecked(indexChecked))
{
MessageBox.Show(checkedListBox1.Text);
}
}
checkedListBox1.Items[indexChecked].ToString()
这样来取值,却得到“System.Data.DataRowView”这个不知所云的结果,这到底是怎么回事?难道跟我给checkedListBox绑定数据的方式有关?
oleString = "select 名称 from 收支项目 where 项目类别 = '" + item + "'";
oleDataAdapter1 = new OleDbDataAdapter(oleString, form.oledbconn);
oleDataAdapter1.Fill(dataSet1, "收支项目");
checkedListBox1.DataSource = dataSet1.Tables["收支项目"];
checkedListBox1.DisplayMember = "名称";
oleString = "select 名称 from 收支项目 where 项目类别 = '" + item + "'";
oleDataAdapter1 = new OleDbDataAdapter(oleString, form.oledbconn);
oleDataAdapter1.Fill(dataSet1, "收支项目");
comm.CommandText = oleString;
comm.Connection = form.oledbconn;
dataReader = comm.ExecuteReader();
while (dataReader.Read())
{
checkedListBox1.Items.Add(dataReader.GetValue(0).ToString().Trim() , false);
}
dataReader.Close();
comm.Dispose();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < checkedListBox1.CheckedIndices.Count; i++)
{
sb.AppendLine (checkedListBox1.CheckedItems [i].ToString ());
}
MessageBox.Show(sb.ToString());
string box1 = "", box2 = "";
for (int j = 0; j < CheckBoxList1.Items.Count; j++)
{//房屋配置:
if (CheckBoxList1.Items[j].Selected == true)
box1 += CheckBoxList1.Items[j].Value + ",";
}
if (box1.EndsWith(","))
box1 = box1.Substring(0, box1.Length - 1);
for (int indexChecked = checkedListBox1.Items.Count - 1; indexChecked >= 0; indexChecked--)
{
if (checkedListBox1.GetItemChecked(indexChecked))
{
MessageBox.Show(checkedListBox1.Items[indexChecked].ToString());
}
}