CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

ListBox中值的选定问题,在线等,谢谢!

楼主jhpu2000(石头)2005-04-03 14:23:19 在 .NET技术 / C# 提问

我将数据集帮定到LISTBOX,但是,若我想选择其中的数据,怎么老是出错呢?以下是代码:  
  string   strQuery   =   @"SELECT   CASE_ID,TD_ID   FROM   T_TDDA   WHERE   CASE_ID   LIKE   'td030724_'";  
  DataSet   ds   =   dataOpera.Get_DataSet(strQuery,"GYTDSYZ");  
   
  lsbWaitPrint.DataSource   =   ds.Tables["GYTDSYZ"];  
  lsbWaitPrint.DisplayMember   =   "TD_ID";  
  lsbWaitPrint.ValueMember   =   "CASE_ID";  
   
  lsbWaitPrint.SetSelected(0,true);  
   
  int   iIndex   =   lsbWaitPrint.SelectedIndex;  
  string   strSelected   =   lsbWaitPrint.Items[iIndex].ToString();  
   
  每次strSelected的值都是System.Data.DataRowView。我想获取显示的值,怎么做?谢谢!  
  问题点数:20、回复次数:11Top

1 楼myhomeland(kk)回复于 2005-04-03 14:32:53 得分 4

用   string   strSelected   =   lsbWaitPrint.SelectedItem.ToString()  
  Top

2 楼jhpu2000(石头)回复于 2005-04-03 14:58:00 得分 0

不行的,我试过,效果一样。  
   
  其实,  
  int   iIndex   =   lsbWaitPrint.SelectedIndex;  
  string   strSelected   =   lsbWaitPrint.Items[iIndex].ToString();  
  和  
  string   strSelected   =   lsbWaitPrint.SelectedItem.ToString();  
  效果是一样的,都是获取被选定的值。  
   
  关键是,帮定的数据源是DataSet,若数据源是ArrayList,就不会有这种问题了。  
   
  若在进行帮定的时候,没有lsbWaitPrint.DisplayMember   =   "TD_ID";这条语句,ListBox中显示的就是System.Data.DataRowView,而且数据集有几行,就显示几行,所以后面出现被选中的值是System.Data.DataRowView也有一定的道理。  
   
  现在,我要的结果是,strSelected值是在ListBox中显示的值。  
   
  还是谢谢   myhomeland(kk)   兄的回答。Top

3 楼yuqi508(毛路)回复于 2005-04-03 15:11:22 得分 4

lsbWaitPrint.DataSource   =   ds.Tables["GYTDSYZ"];  
  lsbWaitPrint.DisplayMember   =   "TD_ID";  
  lsbWaitPrint.ValueMember   =   "CASE_ID";  
  lsbWaitPrint.DataBindings.Add("SelectedValue",ds,"要插入的字段");Top

4 楼myhomeland(kk)回复于 2005-04-03 15:18:08 得分 0

呵呵,再试试  
  用   string   strSelected   =   lsbWaitPrint.SelectedItem["TD_ID"].ToString()  
  TD_ID   为你要显示的内容  
  如果再不行的话把  
  lsbWaitPrint.DisplayMember   =   "TD_ID";  
  lsbWaitPrint.ValueMember   =   "CASE_ID";  
  换一下,设为  
  lsbWaitPrint.DisplayMember   =   "CASE_ID";  
  lsbWaitPrint.ValueMember   =   "TD_ID";  
  string   strSelected   =   lsbWaitPrint.SelectValue.ToString();Top

5 楼jhpu2000(石头)回复于 2005-04-03 15:48:20 得分 0

呵呵,myhomeland(kk)   你的方法还是有问题,lsbWaitPrint.SelectedItem返回是object类型,后面不可能也不可以有[]。  
   
    yuqi508(于奇)   的方法我没有明白,后面那个[”要插入的字段“]是指向数据集ds中表的列名么?其实我想显示的就是   列”TD_ID“,但是好象不行哦,报告错误如下:  
  [未处理的“System.ArgumentException”类型的异常出现在   system.windows.forms.dll   中。  
   
  其他信息:   无法绑定到   DataSource   的属性或列   TD_ID]  
   
  谢谢二位。  
   
   
  yuqi508(于奇)   ,你能帮帮我吗?  
  Top

6 楼jhpu2000(石头)回复于 2005-04-03 16:32:12 得分 0

呵呵,string   strSelected   =   lsbWaitPrint.SelectValue.ToString();  
  选择的是   lsbWaitPrint.ValueMember,   因为TD_ID不唯一,CASE_ID是唯一的。  
   
  恩,基本上能凑合,试试先  
   
  谢谢   myhomeland(kk)   啦.   ^-^Top

7 楼DarkSchneider(知我者谓我心忧,不知我者谓我何求)回复于 2005-04-03 16:44:04 得分 3

试试这样行不行:  
   
  string   strSelected   =   ((ListBox)   sender).SelectedItem.ToString();Top

8 楼hyj_828(水梦)回复于 2005-04-03 17:38:07 得分 2

upTop

9 楼dunao([別人騎馬,俺騎驢,比上不足,比下有余])回复于 2005-04-03 19:01:33 得分 3

string   strSelected   =   lsbWaitPrint.Text;  
  即可取得所選   的值!  
  Top

10 楼zhaojiang(不会飞的鱼)回复于 2005-04-03 19:09:48 得分 4

楼主,你的这个问题我知道。^_^  
   
  前几天我正是被这个问题搞得头大。今天不经意在试COMBOBOX的时候突然发现原因了。原来是在事件SELECTEDINDEXCHANGE事件里没加判断。  
   
  你在里面加一个判断,看DISPLAYMEMBER是否为“”, 如果不是取得的就是你要的值,否则就是SYSTEM。DATA。DATAROW。  
   
  还不明白就加我QQ吧。QQ说方便些。  
  QQ:46668884 加的时候注明来意。Top

11 楼yuqi508(毛路)回复于 2005-04-06 22:54:53 得分 0

lsbWaitPrint.DataSource   =   ds.Tables["GYTDSYZ"];  
  lsbWaitPrint.DisplayMember   =   "TD_ID";  
  lsbWaitPrint.ValueMember   =   "CASE_ID";  
  lsbWaitPrint.DataBindings.Add("SelectedValue",ds,"要插入的字段");  
   
  ValueMember设置的子段是将被selectedValue   属性所绑顶的字段Top

相关问题

  • ListBox删除选定的值?
  • 怎样得到listbox的选定值
  • VB6如何读取ListBox选定item的值?
  • 怎么添加一个被选定的listbox值
  • 请问:如何得到ListBox控件某一选定项的值
  • 怎样知道listbox中选定的是哪一项?
  • 怎样在右击listbox的同时选定该项?
  • 菜问题:如何获取listbox中选定行的文本.
  • 请教选定dropdownlist控件的值之后,不用botton控件如何激活事件发生?在线
  • 很简单的问题,ListBox问题:如何删除ListBox中选定的项,注意:此选定的项与数据库绑定

关键词

  • 字段
  • 数据
  • ds
  • td
  • lsbwaitprint
  • valuemember
  • displaymember
  • gytdsyz
  • 谢谢
  • myhomeland

得分解答快速导航

  • 帖主:jhpu2000
  • myhomeland
  • yuqi508
  • DarkSchneider
  • hyj_828
  • dunao
  • zhaojiang

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo