vs2008 c#winform开发中关于得到数据绑定后的listbox的多个选中值的问题

我在设计中有一个listbox控件,并且允许用户实现多选情况,就是SelectionMode的属性值设置为了MultiSimple,我在窗口加载的时候从数据库一个表中查询... 我在设计中有一个listbox控件,并且允许用户实现多选情况,就是SelectionMode的属性值设置为了MultiSimple,我在窗口加载的时候从数据库一个表中查询出数据放在一个dataset中,并且把listbox的ValueMember和DisplayMember设置为不同的列,我现在想用一个for循环检测listbox里根据ds绑定项的选中情况,选中了就获取选中项的value值,我自己写的时候发现循环获取时每次输出的都只是第一个选中项的value值,后面的选中项的value值应该怎么获取?
for (int i = 0; i < ltb_RoomType.Items.Count; i++)
{
if (ltb_RoomType.GetSelected(i))
{
if (RoomTypeCount == 0)
{
//sql_str += "and (RoomType = '" + ltb_RoomType.get + "' ";
}
else
{

}
RoomTypeCount++; MessageBox.Show(ltb_RoomType.SelectedValue.ToString());
}
}
ltb_RoomType.Item[i]又没有Text或者Value的相关属性,只有ToString()的方法,我转过,但由于项是根据dataset动态绑定的,所以获取不到一个对的值!
展开
 我来答
最后的仙人
2010-06-07 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1403万
展开全部
因为listbox的item是一个object对象,所以你绑定了数据源以后,它本身不是值也不是显示的值,而是一个数据行,所以可以这样调用
DataRowView drv = listBox1.SelectedItem as DataRowView;
DataRow dr = drv.Row;
label1.Text = dr[listBox1.ValueMember].ToString();
多选的话,可以用foreach来遍历listBox1.SelectedItems
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式