WinForm中ListBox数据绑定问题

本文介绍了在WinForm中使用ListBox进行数据绑定的方法,并详细解释了如何通过DataSource、DisplayMember和ValueMember属性来显示和获取数据。此外还提供了一种遍历绑定数据的有效方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     这两天遇到ListBox数据绑定并显示的问题,以前以为可以根ASP.NET中的用法差不多,即
None.gifListBox listBox;
None.gif          listBox.DataSource 
= ds;
None.gif          listBox.DataTextField 
= "要显示的字段名";
None.gif          listBox.DataValueField 
= "id";
None.gif          listBox.DataBind();
然后利用listBox.SelectedItem即可访问被选中的项的值,当然在WinForm中除了DataSource的属性还有,其他都没有了,WinForm就换成如下方式:
None.gif                listBox.DataSource = ds.Tables[0];
None.gif                listBox.DisplayMember 
= "carsnumber";
None.gif                listBox.ValueMember 
= "id";
这样便可在ListBox正确显示出来,并且利用listBox.SelectedValue可以得到选定项的对应的id,  但是当我用
listBox.SelectedItem打算得到相应的carsnumber值时,确显示System.Data.DataRowView,利用listBox.Item[]访问得到的结果是一样的。最后在网上搜搜看能不能找到答案,又在优快云上搜了一下以前的帖子,最后找到了答案,
如果要循环访问绑定了的Text值和Value 值,可用如下方式:
None.gifforint i = 0; i < listBox.Items.Count; i++ )
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif     DataRowView drv 
= listBox.Items[i] as DataRowView;
InBlock.gif     
if( drv != null )
ExpandedSubBlockStart.gifContractedSubBlock.gif     
dot.gif{
InBlock.gif           MessageBox.Show( 
"Text:" + drv[listBox.DisplayMember].ToString() );
InBlock.gif           MessageBox.Show( 
"Value:" + drv[listBox.ValueMember].ToString() );
ExpandedSubBlockEnd.gif     }

ExpandedBlockEnd.gif}
看来如果没有网络在学习的道路上还真不好走。。。

转载于:https://www.cnblogs.com/tiu/archive/2006/11/06/552142.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值