首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > .NET里面的下拉列表居然不能对value值遍历
【标  题】:.NET里面的下拉列表居然不能对value值遍历
【关键字】:.NET,value
【来  源】:http://blog.csdn.net/sizheng0320/archive/2006/11/24/1409672.aspx

.NET里面的下拉列表居然不能对value值遍历

winform下的程序,想实现这么个功能:一个下拉列表,比如显示的是民族,其值是民族代码,旁边有个对应的文本框。想实现在文本框内输入民族代码,下拉列表就改为选中相应的民族。

这个功能需要对下拉列表的value值进行遍历。我的下拉列表是直接绑定数据集,只能有个SelectedValue属性,无法遍历。在CSDN、GOOGLE、BAIDU、CODEPROJECT一通翻,也没找到能直接遍历的办法,最后看见有人是用类实现的。

首先是CSDN的一个帖子:
http://topic.csdn.net/t/20050307/18/3831619.html

里面有个回复提到了,但是说得不够详细。看完它后,我觉得似乎没必要用类,于是试着写了个structure,但是不行,下拉列表根本无法正常显示。

后来又看到了下面这个:
http://dev.csdn.net/develop/article/32/32319.shtm

---------------------------- 

今天好像特别提不起精神来写程序。

这几天公司的活和私活都不是很多,所以上班的上午也被我用来写这个小软件,因为以前一直从事WEB开发,vs。net也是用来写ASP.NET的,最近才开始写WINFORM,所以有很多小的问题搞得不是很清楚,所以整个程序看起来比较乱,昨天困扰了我很久的竟然是ComboBox,我想当然的拿它和Web Control中的DropDownList来对比,所以我一直不知道Value在ComboBox是什么?ValueMember只能用来绑定,而selectedvalue也只能取来自数据库绑定的值,我只能定义一个类来实现我手动增加ComboBox的Item

public class ComboBoxItem
  {
   private string _text=null;
   private object _value=null;
   public string Text{get{return this._text;} set{this._text=value;}}
   public object Value{get {return this._value;} set{this._value=value;}}
   public override string ToString()
   {
    return this._text;
   }
  }
这段代码我是从网上找的,然后使用
ComboBoxItem newItem = new ComboBoxItem();
newItem.Text = “abc”;
newItem.Value = “1”;
ComboBox1.Items.Add(newItem);

取值的时候又没有注意到selectedvalue是取自ValueMember所以忘了强制转换类型,浪费了我一小时的时间。。

取值使用方法:
ComboBoxItem myItem = (ComboBoxItem)ComboBox1.Items[0];
string strValue = myItem.Value;

其实很多地方和WebForm很多的不一样,所以一直还是处于摸索阶段。

-------------------------------

没办法,把这个COPY过来,做了一点改进:加了index属性,这样不仅可以用add方法添加,也可以用insert方法了,OK,一宿总算没白熬。关键在于那个重写的ToString()。

我的类:

-------------------------------

Public Class ComboBoxItem
        Private _text As String = ""
        Private _value As Object = Nothing
        Private _index As Integer = -1

        Public Sub New(ByVal intIndex As Integer, ByVal strText As String, ByVal objValue As Object)
            _text = strText
            _value = objValue
            _index = intIndex
        End Sub

        Public Property Text() As String
            Get
                Return _text
            End Get
            Set(ByVal Value As String)
                _text = Value
            End Set
        End Property

        Public Property Value() As Object
            Get
                Return _value
            End Get
            Set(ByVal Value As Object)
                _value = Value
            End Set
        End Property

        Public Property Index() As Integer
            Get
                Return _index
            End Get
            Set(ByVal Value As Integer)
                _index = Value
            End Set
        End Property

        Public Overrides Function ToString() As String
            Return _text
        End Function
    End Class

Visual Studio 2005 Team System 中的软件测试工具 (转贴):【上一篇】
[borland eco 技术]自做delphi.net的eco视频教程第一讲(待续):【下一篇】
【相关文章】
  • 解决ASP.NET带中文参数出现乱码的问题
  • AjaxPro在ASP.NET中的应用简介
  • .net 2.0 webservice 异步调用在winform中的使用例子。
  • .NET Remoting——practice & progress(1):Configuration Files配置文件
  • delphi.net的eco视频教程二讲(待续)
  • .NET Remoting——practice & progress(2):WellKnown已知类型
  • .net web.config文件详解
  • vb.net 如何判断文件是否在外部被修改?
  • 经典与现代的结合:在MFC中集成RAD .NET框架
  • 本周ASP.NET英文技术文章推荐[11/19 - 11/25]
  • 【随机文章】
  • 视频教程讲授方式意见征询
  • Resources of NetSnmp
  • Q:求助!!??将一个数据文件通过include的方式加入到VC++的开发项目中,如何来调用?
  • 利用XSLT将线性XML转换为树型XML
  • 病毒 Lasco(Worm.Lasco.a)
  • 规划你的IT人生,给你一个展示自己舞台
  • 草 图 设 置(Drafting Settings)
  • QQ教程之十二QQ技巧一箩筐
  • "谁持彩练当空舞"-- 看Java、C#大比拚(2)
  • 让国企领导更重视信息安全!
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.