我有这段代码试图从 CheckedListBox 中提取显示值:
CheckedListBox.CheckedItemCollection selectedUnits = checkedListBoxUnits.CheckedItems;
_selectedUnit = selectedUnits[0].ToString();
...但它不起作用 - “_selectedUnit”的值,而不是应有的“鸭嘴兽”,是“ System.Data.DataRowView ”。
我怎样才能从这个复杂的对象中哄出字符串值?
更新
我不确定 user2946329 想看到什么 bzg。我的 CheckedListBox,但这是它的填充方式:
private void PopulateUnits()
{
using (SqlConnection con = new SqlConnection(ReportRunnerConstsAndUtils.CPSConnStr))
{
using (SqlCommand cmd = new SqlCommand(ReportRunnerConstsAndUtils.SelectUnitsQuery, con))
{
cmd.CommandType = CommandType.Text;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
sda.Fill(dt);
((ListBox)checkedListBoxUnits).DataSource = dt;
((ListBox)checkedListBoxUnits).DisplayMember = "Unit";
((ListBox)checkedListBoxUnits).ValueMember = "Unit";
}
}
}
}
让我知道是否缺少任何对您有帮助的东西。