winform中combobox控件之数据绑定

晴天天晴 晴天天晴     2022-08-22     791

关键词:

http://www.cnblogs.com/peterzb/archive/2009/05/30/1491923.html

           下面介绍三种对comboBox绑定的方式,分别是泛型中IList和Dictionary,还有数据集DataTable

 一、IList

      现在我们直接创建一个List集合,然后绑定

IList<string> list = new List<string>();
            list.Add("111111");
            list.Add("222222");
            list.Add("333333");
            list.Add("444444");
            comboBox1.DataSource = list;
      执行后,我们会发现绑定成功,但是 我们知道一般对于下拉框的绑定都会有一个值,一个显示的内容,这个时候我们可以创建一个类,把value和text都封装到这个类,作为list的类型

    


 public class Info
    {
        public string Id { get; set; }
        public string Name { get; set; }

    }
      private void bindCbox()
        {
            IList<Info> infoList = new List<Info>();
            Info info1 = new Info() { Id="1",Name="张三"};
            Info info2 = new Info() { Id="2",Name="李四"};
            Info info3 = new Info() { Id = "3",Name = "王五" };
            infoList.Add(info1);
            infoList.Add(info2);
            infoList.Add(info3);
            comboBox1.DataSource = infoList;
            comboBox1.ValueMember = "Id";
            comboBox1.DisplayMember = "Name";
        }

这个时候我们就可以直接获得值和显示的内容了

 

二、Dictionary

     这个有点特殊,不能直接绑定,需要借助类BindingSource才可以完成绑定

   

 

Dictionary<int, string> kvDictonary = new Dictionary<int, string>();
            kvDictonary.Add(1, "11111");
            kvDictonary.Add(2, "22222");
            kvDictonary.Add(3, "333333");

            BindingSource bs = new BindingSource();
            bs.DataSource = kvDictonary;
            comboBox1.DataSource = bs;
            comboBox1.ValueMember = "Key";
            comboBox1.DisplayMember = "Value";


 

 三、数据集

     这个比较常见,很简单

    

//数据集绑定
        private void BindCombox()
        {
            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"] = "1";
            dr1["name"] = "aaaaaa";

            DataRow dr2 = dt.NewRow();
            dr2["id"] = "2";
            dr2["name"] = "bbbbbb";

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

            comboBox1.DataSource = dt;
            comboBox1.ValueMember = "id";
            comboBox1.DisplayMember = "name";
        }
 注意:

当我们触发combox的SelectedIndexChanged的事件后,我们在加载窗体的时候就会执行,这点我刚开始也和魅惑,导致容易出错,这点我们可以采取一些方法避免执行,比如可以定义一个变量fig=false

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
   {
       if(this.fig)
       {
           string selectValue = this.cmbAddMember.SelectedValue.ToString();
 
           rtbaddMember.SelectedText = selectValue;
       }
   }
 那么肯定想在加载窗体后,执行了,所以在加载窗体后我们还要把fig的值设为true

   

private void SetAutoMessage_Load(object sender, EventArgs e)
{
loadCombox();
loadMessageTemplet();
fig= true;
}

winform控件combobox数据绑定

ComboBox下拉菜单控件,在数据库内的ComboBox应用的表进行修改时,如果是用的普通方法,显示数据一个方法,添加数据一个方法这样会导致程序后期维护难度增加,在这里使用数据绑定来让ComboBox数据实现根据数据库对应表数据显示,降低... 查看详情

如何将绑定连接到(Winform)ComboBox 控件以从绑定源获取/设置控件中的选择?

】如何将绑定连接到(Winform)ComboBox控件以从绑定源获取/设置控件中的选择?【英文标题】:HowdoIconnectabindingtoa(Winform)ComboBoxcontroltoget/settheselectioninthecontrolfromthebindingsource?【发布时间】:2021-09-2006:13:34【问题描述】:我已经深... 查看详情

请教c#winform中combox控件?

...是空,在选择其他选项后还可以选择空选项,谢谢!另:comboBox1.SelectedIndex=-1;这个是可以,但是选择完后就不能再选空了如果用comboBox1.DataSource这种方式绑定,只能在数据库添加一个空项,要不然可以用comboBox1.Items.Add();这样循环... 查看详情

winform控件大全,要详细的.

...,文本框,长度,errorprovider组件,方便,快捷C#WinForm开发系列–ComboBoxwinform中的AutoComplete自定义控件c#,winform,combobox联动c#+winform+combobox+动态生成控件,根据选择的内容WinForm下ComboBox添加项与设定预选项在.Net中将Enum绑定到ComboBox控件(思想... 查看详情

winform中的listbox和combobox绑定数据用法实例

本文实例讲述了winform中的ListBox和ComboBox绑定数据用法。分享给大家供大家参考。具体实现方法如下:本例实现将集合数据绑定到ListBox和ComboBox控件,界面上显示某个属性的内容,代码如下:代码如下://…//自定义了Person类(有Name,Ag... 查看详情

winform绑定民族信息

ComboBox下拉菜单控件,在数据库内的ComboBox应用的表进行修改时,如果是用的普通方法,显示数据一个方法,添加数据一个方法这样会导致程序后期维护难度增加,在这里使用数据绑定来让ComboBox数据实现根据数据库对应表数据显示,降低... 查看详情

winform控件之combobox,datagridview(代码片段)

1.代码结构截图2.核心代码usingSystem;usingSystem.Data;usingSystem.Drawing;usingSystem.Windows.Forms;namespaceWinFormComboBoxDemos///<summary>///WinForm程序:ComboBox和DataGridView使用方法///LDH@2018-3-6///</su 查看详情

winform,combox取值问题。

...的方法,如:publicvoidBind(),这个方法是实现绑定数据到combobox的,然后在子窗体中写一个构造方法,将主窗体的实例parent传过去,然后在子窗体的窗体关闭事件中调用parent.Bind();这样在子窗体关闭事,就会自动刷新combobox的值了... 查看详情

C# 数据绑定 ComboBox 在其他控件中更改数据

】C#数据绑定ComboBox在其他控件中更改数据【英文标题】:C#databoundComboBoxchangingdatainothercontrols【发布时间】:2014-12-2013:15:37【问题描述】:我有一个非常复杂的问题,所以我会尽力解释:我有一个C#WindowsForms(.NET4)程序。我的Windows... 查看详情

c#的winform程序中,radiobutton的用法

我在窗体上放了三个radiobutton。还有一个combobox。我想在分别选择三个不同的radiobutton时,让combobox绑定不同的数据字段。显示不同的内容。但在运行的时候,点第一个radiobutton时,程序正常运行。当点第二个的radiobutton的时候,就... 查看详情

winform中使用combobox控件。

winForm中使用ComBoBOX控件,编辑了几个值:请选择、类别1、类别2;加载页面时设置显示"请选择",点击提交时ComBoBOX中的值没有值,求解决。FormLoad事件里添加ComboBox.SelectIndex=0;点击提交的处理后添加ComboBox.SelectIndex=-1;ComboBox... 查看详情

winform公共控件

... Visible-是否隐藏2、CheckBox、CheckListBox-复选框复选框组3、ComboBox:下拉列表框 1、数据填进去 可以在后台将要填进去的内容放到Items集合中去 comboBox1.Items.Add() 2、如何取到选中的数据 comboBox1.SelectedItem.ToStri 查看详情

winform之bindingsource基础操作实例教程

通常我们在进行数据绑定的时候,常用的数据源有DataSet、DataTable、BindingList<T>、还有强类型数据源。今天我们来通过实例了解一下BindingSource组建,分享给大家供大家参考借鉴之用。BindingSource的两个用途:(1)首先,它提供... 查看详情

怎样在winform内实现combobox模糊查询

...到项目下默认新建的Form1,双击进入设计界面,添加一个comboBox控件。然后单击ComboBox控件,右键选择属性在右边属性窗口,找到事件(图中的闪电形状图标),找到TextUpdate,双击添加此事件。6在设计界面Form1,按F7进入后台代码... 查看详情

winform中如何得到combobox控件lord加载后用户选择后返回其选中的索引值

我需要这个索引值存到数据库combobox中的选项都是我从数据库中Lord加载的要详细点的参考技术A在combobox的selectchange时间中就可以了 参考技术Bintindex=comboBox1.SelectedIndex;本回答被提问者采纳 参考技术Ccombobox.selectindex; 查看详情

WinForm 数据绑定控件结果返回类名不是实际数据

】WinForm数据绑定控件结果返回类名不是实际数据【英文标题】:WinFormDataboundControlResultsReturnClassNameNotActualData【发布时间】:2020-08-1009:29:28【问题描述】:我很难找到解决问题的方法。我搜索了互联网,多次重建了我的课程,并... 查看详情

winform控件之datagridview数据控件显示问题

    最近在做同类的信息记录管理系统时遇到了DataGridView数据控件的显示问题,可能是2015年的上半年没有深入学习C#开发的原因,这几天重新搬出来开发,首先遇到的问题就是动态绑定数据显示的问题,琢磨了很久... 查看详情

大师们,winform中,combox绑定一个数据源,然后想取值怎么取呢

comboBox1.ValueMember取的就是列名,什么能取出来呢comboBox1.ValueMember是设置值的列!取值是comboBox1.selectedValue参考技术AComboBox.SelectedValue,但是注意下绑定失败或数据库里没有数据的时候这个值是Null,会引发一些异常。 参考技术BcomboBo... 查看详情