C# WinForm 技巧二: Combobox手动绑定数据

定义一个类,有两个属性
    /// <summary>
    
/// 元数据
    
/// </summary>
    [System.Diagnostics.DebuggerStepThrough]
    [Serializable]
    public class SandData
    {
        String key = "";
        Object value = "";
        /// <summary>
        
/// 元数据
        
/// </summary>
        public SandData() { }
        /// <summary>
        
/// 元数据
        
/// </summary>
        public SandData(String m_key,Object m_value) {
            this.key = m_key;
            this.value = m_value;
        }
        public String Key
        {
            get { return key; }
            set { key = value; }
        }
        public Object Value
        {
            get { return this.value; }
            set { this.value = value; }
        }

  }

然后,用一个

ArrayList list = new ArrayList();
                   foreach (DataRow row in table.Rows)
                   {
                       string text = row["d_name"].ToString() +"[" + row["UptownName"].ToString() + row["BuildingName"].ToString() + row["UnitName"].ToString()+"]";
                       string value = row["Id"].ToString();

                       SandData vo = new SandData();
                       vo.Key = text;
                       vo.Value = value;
                       list.Add(vo);
                   }
                   this.comboBox1.DataSource = list;
                   this.comboBox1.DisplayMember = "Key";
                   this.comboBox1.ValueMember = "Value";

这样就OK了,取值只要cbb.SelectedValue就取到了。

作者:罗敏贵
邮箱:minguiluo@163.com
QQ群:34178394 建群 主要是寻找志同道合的人士一起学习和讨论自己的所学所思
出处:http://luomingui.cnblogs.com/
说明:专注于微软平台项目架构、熟悉设计模式、架构设计、敏捷个人和项目管理。现主要从事WinForm、ASP.NET、等方面的项目开发、架构、管理工作。文章为作者平时里的思考和练习,可能有不当之处,请博客园的园友们多提宝贵意见。
知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

原文地址:https://www.cnblogs.com/luomingui/p/2248151.html