0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

comboBox控件的数据绑定方法是什么

汽车电子技术 来源:dotNet工控上位机 作者:新阁教育韩工 2023-02-22 16:13 次阅读

前言

大家好,我是新阁教育韩工,这几天有小伙伴问我关于comboBox控件如何绑定数据的问题,我们今天简单来看一下几种不同的绑定方法。

绑定List集合

首先创建数据绑定方法,在方法中创建一个string类型的List集合。并将集合赋值给控件的DataSource(数据源)完成数据绑定。

//数据绑定方法1,绑定list集合
private void DataBinding1()
{
   List<string>list = new List<string>()
   {
      "111","222","333","444"
   };
   this.cmb_list.DataSource = list;
}

代码运行效果如下

图片

绑定数组集合

创建数据绑定方法,在方法中创建一个string类型的数组集合。并将数组赋值给控件的DataSource(数据源)完成数据绑定。

//数据绑定方法2,绑定数组集合
private void DataBinding2()
{
   string[] array = new string[] { "aaa", "bbb", "ccc", "ddd" };
   this.cmb_Array.DataSource = array;
}

代码运行效果如下

图片

绑定对象集合

首先创建一个实体类,用于存储数据

public class Data
{
   public string ID { get; set; }
   public string Name { get; set; }
}

创建数据绑定方法,在方法中创建一个对象类型的List集合。并将集合赋值给控件的DataSource(数据源),并给控件的DisplayMember属性和ValueMember属性赋值,完成数据绑定。

//数据绑定方法3,绑定对象集合
List datas = new List();
private void DataBinding3()
{
            
   Data data1 = new Data() { ID = "A", Name = "西门子" };
   Data data2 = new Data() { ID = "B", Name = "三菱" };
   Data data3 = new Data() { ID = "C", Name = "欧姆龙" };
   datas.Add(data1);
   datas.Add(data2);
   datas.Add(data3);

   this.cmb_Data.DataSource = datas;
   this.cmb_Data.DisplayMember = "Name";
   this.cmb_Data.ValueMember = "ID";
}

使用这种方法绑定控件我们可以利用控件的SelectedIndexChanged事件通过选中的DisplayMember来查找对应的ValueMember。

private void cmb_Data_SelectedIndexChanged(object sender, EventArgs e)
{
   this.txt_DataID.Text = cmb_Data.SelectedValue.ToString();
}

代码运行效果如下

图片

绑定DataTable

方法与绑定对象集合方法类似,使用这种方法同样可以利用控件的SelectedIndexChanged事件,通过选中的DisplayMember来查找对应的ValueMember,实现代码如下。

//数据绑定方法4,绑定DataTable
private void DataBinding4()
{
    DataTable dt = new DataTable();
    DataColumn dc1 = new DataColumn("Id");
    DataColumn dc2 = new DataColumn("Name");
    dt.Columns.Add(dc1);
    dt.Columns.Add(dc2);

    DataRow dr1 = dt.NewRow();
    dr1["Id"] = "10";
    dr1["Name"] = "上位机";
    DataRow dr2 = dt.NewRow();
    dr2["Id"] = "11";
    dr2["Name"] = "全栈";
    DataRow dr3 = dt.NewRow();
    dr3["Id"] = "12";
    dr3["Name"] = " Web上位机";

    dt.Rows.Add(dr1);
    dt.Rows.Add(dr2);
    dt.Rows.Add(dr3);

    this.cmb_DataTable.DataSource = dt;
    this.cmb_DataTable.ValueMember = "Id";
    this.cmb_DataTable.DisplayMember = "Name";

}
//事件
private void cmb_DataTable_SelectedIndexChanged(object sender, EventArgs e)
{
    this.txt_DataTableID.Text = cmb_DataTable.SelectedValue.ToString();
}

代码运行效果如下

图片

绑定枚举

首先定义一个颜色枚举

public enum ColorEnum
{
   红色,
   蓝色,
   白色
}

使用Enum.GetNames()方法,将枚举元素的名称赋值给控件。

private void DataBinding5()
{
   this.cmb_enum.DataSource = Enum.GetNames(typeof(ColorEnum));
}

代码运行效果如下

图片

利用Items.Add方法添加元素

这里需要注意,Items.Add()方法里面的参数为Object类型。

//数据绑定方法6,利用Items.Add方法添加元素
private void DataBinding6()
{
   this.cmb_item.Items.Add("早上好");
   this.cmb_item.Items.Add("中午好");
   this.cmb_item.Items.Add("下午好");
}

代码运行效果如下

图片

利用Items.AddRange方法添加元素

这里需要注意,Items.AddRange()方法里面的参数为Object类型的数组。

//数据绑定方法7,利用Items.AddRange方法添加元素
private void DataBinding7()
{
   object[] array = new object[] { 111, 222, 333,444 };
   this.cmb_items.Items.AddRange(array);            
}

代码运行效果如下图片

结语

通过以上几种常用的方法就可以完成下拉控件comboBox的数据绑定,希望能给大家带来一些帮助。

-END-

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87600
  • 数据源
    +关注

    关注

    1

    文章

    59

    浏览量

    9589
  • string
    +关注

    关注

    0

    文章

    40

    浏览量

    4644
收藏 人收藏

    评论

    相关推荐

    Visual C#组件技巧之ComboBox美容

    Visual C#组件技巧之ComboBox美容组合框是组成Windows窗口常见的控件之一,Windows程序员在应用软件开发中经常要用到组合框。但随微软开发工具语言(如C/C++/C#/VB
    发表于 03-04 16:59

    Web 窗体页的数据绑定表达式

    Web 窗体页的数据绑定表达式对 Web 窗体页中的各项控件属性进行数据绑定不是通过直接将属性绑定
    发表于 11-13 22:28

    布尔控件绑定

    大家好,我正在看一个登陆程序,输入密码后可以实现“用户登陆”“进入系统”“用户管理”等功能。在代码中,前面板上的布尔控件“用户登陆”和“进入系统”是绑定在一起的,我不知道如何实现这两个控件
    发表于 05-27 16:37

    labview 数据绑定DataSocket

    `labview 给控件数据绑定 选择DataSocket再在浏览中选择DSTP服务器。labview就界面锁死。labview没有任何反应必须结束进程 重新打开labview。请问这是为什么?`
    发表于 05-18 21:58

    LABVIEW中控件数据绑定中路径应该怎么写

    LABVIEW中控件数据绑定中路径应该怎么写?我想与S7-200的PC ACCESS中数据绑定。希望大家指点一下。
    发表于 05-13 09:59

    Labview 中datagrid控件如何绑定数据源呢,例如adodc,求大神解答

    Labview 中datagrid控件如何绑定数据源呢,例如adodc,求大神解答,最好有图有真相,谢谢!
    发表于 09-15 11:03

    请教关于通过opc datasocket控件绑定的问题?

    datasocket控件绑定与PLC通讯,如果断网了,程序就死了,必须重启,这种情况应该怎么错误处理啊?
    发表于 09-25 10:20

    树形控件与下拉文本控件绑定

    怎样将树形控件与下拉文本控件绑定?如图,当移动树形控件垂直条时,下拉文本控件也随其一起移动。当点击树形
    发表于 01-07 16:30

    labview 关于datasocket数据绑定问题

    假设设置两个数值显示变量数值1、数值2,假设数值1变量一个和随机变量相接,运行后数值1变量显示一个运行结果num1,现在通过如何属性设置数据绑定将数值1控件设置写入,数值2控件设置读取
    发表于 08-17 11:28

    如果实现在运行模式下创建一个绑定到OPC服务器的共享变量,绑定控件的Datasocket?

    环境下的Datasocket绑定的话,我们只需要在测试界面上增加控件,修改相关逻辑就可以了,通信的绑定可以由现场的工程师负责绑定就可以了;图1:开发环境下,
    发表于 03-04 10:06

    基于HarmonyOS Java UI,使用元数据绑定框架,实现UI和数据源的绑定

    /simple_ui/SingleAlarmSlice.java中的onStart方法中请求绑定:// 创建元数据请求对象 MetaDataRequestInfo request = new
    发表于 09-01 14:54

    HarmonyOS数据绑定的使用方法和技巧

    绑定”是实现上述场景最基础的技术,本文会基于一系列实例详细介绍”HarmonyOS数据绑定“的使用方法和技巧。01 数据
    发表于 03-24 10:24

    labview 数据绑定求助

    求助 LABVIEW 大神 在每个控件属性中有一个数据绑定绑定到本机的OPC服务器上 是正常可以用的如果我想把这个绑定路径做成根我提供的
    发表于 10-24 09:19

    ADO 控件访问数据库的各种技巧探讨

    本文讲述了使用ADO 控件访问数据库时如何用程序来实现数据库的连接和数据感知控件数据库的
    发表于 06-10 14:35 31次下载

    MMoIP控件的注册方法

    控件的注册方法
    发表于 12-27 16:13 0次下载