0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

comboBox控件的數(shù)據(jù)綁定方法是什么

汽車電子技術(shù) ? 來(lái)源:dotNet工控上位機(jī) ? 作者:新閣教育韓工 ? 2023-02-22 16:13 ? 次閱讀

前言

大家好,我是新閣教育韓工,這幾天有小伙伴問(wèn)我關(guān)于comboBox控件如何綁定數(shù)據(jù)的問(wèn)題,我們今天簡(jiǎn)單來(lái)看一下幾種不同的綁定方法。

綁定List集合

首先創(chuàng)建數(shù)據(jù)綁定方法,在方法中創(chuàng)建一個(gè)string類型的List集合。并將集合賦值給控件的DataSource(數(shù)據(jù)源)完成數(shù)據(jù)綁定。

//數(shù)據(jù)綁定方法1,綁定list集合
private void DataBinding1()
{
   List<string>list = new List<string>()
   {
      "111","222","333","444"
   };
   this.cmb_list.DataSource = list;
}

代碼運(yùn)行效果如下

圖片

綁定數(shù)組集合

創(chuàng)建數(shù)據(jù)綁定方法,在方法中創(chuàng)建一個(gè)string類型的數(shù)組集合。并將數(shù)組賦值給控件的DataSource(數(shù)據(jù)源)完成數(shù)據(jù)綁定。

//數(shù)據(jù)綁定方法2,綁定數(shù)組集合
private void DataBinding2()
{
   string[] array = new string[] { "aaa", "bbb", "ccc", "ddd" };
   this.cmb_Array.DataSource = array;
}

代碼運(yùn)行效果如下

圖片

綁定對(duì)象集合

首先創(chuàng)建一個(gè)實(shí)體類,用于存儲(chǔ)數(shù)據(jù)

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

創(chuàng)建數(shù)據(jù)綁定方法,在方法中創(chuàng)建一個(gè)對(duì)象類型的List集合。并將集合賦值給控件的DataSource(數(shù)據(jù)源),并給控件的DisplayMember屬性和ValueMember屬性賦值,完成數(shù)據(jù)綁定。

//數(shù)據(jù)綁定方法3,綁定對(duì)象集合
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事件通過(guò)選中的DisplayMember來(lái)查找對(duì)應(yīng)的ValueMember。

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

代碼運(yùn)行效果如下

圖片

綁定DataTable

方法與綁定對(duì)象集合方法類似,使用這種方法同樣可以利用控件的SelectedIndexChanged事件,通過(guò)選中的DisplayMember來(lái)查找對(duì)應(yīng)的ValueMember,實(shí)現(xiàn)代碼如下。

//數(shù)據(jù)綁定方法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"] = "上位機(jī)";
    DataRow dr2 = dt.NewRow();
    dr2["Id"] = "11";
    dr2["Name"] = "全棧";
    DataRow dr3 = dt.NewRow();
    dr3["Id"] = "12";
    dr3["Name"] = " Web上位機(jī)";

    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();
}

代碼運(yùn)行效果如下

圖片

綁定枚舉

首先定義一個(gè)顏色枚舉

public enum ColorEnum
{
   紅色,
   藍(lán)色,
   白色
}

使用Enum.GetNames()方法,將枚舉元素的名稱賦值給控件。

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

代碼運(yùn)行效果如下

圖片

利用Items.Add方法添加元素

這里需要注意,Items.Add()方法里面的參數(shù)為Object類型。

//數(shù)據(jù)綁定方法6,利用Items.Add方法添加元素
private void DataBinding6()
{
   this.cmb_item.Items.Add("早上好");
   this.cmb_item.Items.Add("中午好");
   this.cmb_item.Items.Add("下午好");
}

代碼運(yùn)行效果如下

圖片

利用Items.AddRange方法添加元素

這里需要注意,Items.AddRange()方法里面的參數(shù)為Object類型的數(shù)組。

//數(shù)據(jù)綁定方法7,利用Items.AddRange方法添加元素
private void DataBinding7()
{
   object[] array = new object[] { 111, 222, 333,444 };
   this.cmb_items.Items.AddRange(array);            
}

代碼運(yùn)行效果如下圖片

結(jié)語(yǔ)

通過(guò)以上幾種常用的方法就可以完成下拉控件comboBox的數(shù)據(jù)綁定,希望能給大家?guī)?lái)一些幫助。

-END-

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7026

    瀏覽量

    89025
  • 數(shù)據(jù)源
    +關(guān)注

    關(guān)注

    1

    文章

    63

    瀏覽量

    9677
  • string
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    4735
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Visual C#組件技巧之ComboBox美容

    Visual C#組件技巧之ComboBox美容組合框是組成Windows窗口常見的控件之一,Windows程序員在應(yīng)用軟件開發(fā)中經(jīng)常要用到組合框。但隨微軟開發(fā)工具語(yǔ)言(如C/C++/C#/VB
    發(fā)表于 03-04 16:59

    Web 窗體頁(yè)的數(shù)據(jù)綁定表達(dá)式

    Web 窗體頁(yè)的數(shù)據(jù)綁定表達(dá)式對(duì) Web 窗體頁(yè)中的各項(xiàng)控件屬性進(jìn)行數(shù)據(jù)綁定不是通過(guò)直接將屬性綁定
    發(fā)表于 11-13 22:28

    布爾控件綁定

    大家好,我正在看一個(gè)登陸程序,輸入密碼后可以實(shí)現(xiàn)“用戶登陸”“進(jìn)入系統(tǒng)”“用戶管理”等功能。在代碼中,前面板上的布爾控件“用戶登陸”和“進(jìn)入系統(tǒng)”是綁定在一起的,我不知道如何實(shí)現(xiàn)這兩個(gè)控件
    發(fā)表于 05-27 16:37

    labview 數(shù)據(jù)綁定DataSocket

    `labview 給控件數(shù)據(jù)綁定 選擇DataSocket再在瀏覽中選擇DSTP服務(wù)器。labview就界面鎖死。labview沒有任何反應(yīng)必須結(jié)束進(jìn)程 重新打開labview。請(qǐng)問(wèn)這是為什么?`
    發(fā)表于 05-18 21:58

    LABVIEW中控件數(shù)據(jù)綁定中路徑應(yīng)該怎么寫

    LABVIEW中控件數(shù)據(jù)綁定中路徑應(yīng)該怎么寫?我想與S7-200的PC ACCESS中數(shù)據(jù)綁定。希望大家指點(diǎn)一下。
    發(fā)表于 05-13 09:59

    Labview 中datagrid控件如何綁定數(shù)據(jù)源呢,例如adodc,求大神解答

    Labview 中datagrid控件如何綁定數(shù)據(jù)源呢,例如adodc,求大神解答,最好有圖有真相,謝謝!
    發(fā)表于 09-15 11:03

    請(qǐng)教關(guān)于通過(guò)opc datasocket控件綁定的問(wèn)題?

    datasocket控件綁定與PLC通訊,如果斷網(wǎng)了,程序就死了,必須重啟,這種情況應(yīng)該怎么錯(cuò)誤處理?。?/div>
    發(fā)表于 09-25 10:20

    樹形控件與下拉文本控件綁定

    怎樣將樹形控件與下拉文本控件綁定?如圖,當(dāng)移動(dòng)樹形控件垂直條時(shí),下拉文本控件也隨其一起移動(dòng)。當(dāng)點(diǎn)擊樹形
    發(fā)表于 01-07 16:30

    labview 關(guān)于datasocket數(shù)據(jù)綁定問(wèn)題

    假設(shè)設(shè)置兩個(gè)數(shù)值顯示變量數(shù)值1、數(shù)值2,假設(shè)數(shù)值1變量一個(gè)和隨機(jī)變量相接,運(yùn)行后數(shù)值1變量顯示一個(gè)運(yùn)行結(jié)果num1,現(xiàn)在通過(guò)如何屬性設(shè)置數(shù)據(jù)綁定將數(shù)值1控件設(shè)置寫入,數(shù)值2控件設(shè)置讀取
    發(fā)表于 08-17 11:28

    如果實(shí)現(xiàn)在運(yùn)行模式下創(chuàng)建一個(gè)綁定到OPC服務(wù)器的共享變量,綁定控件的Datasocket?

    環(huán)境下的Datasocket綁定的話,我們只需要在測(cè)試界面上增加控件,修改相關(guān)邏輯就可以了,通信的綁定可以由現(xiàn)場(chǎng)的工程師負(fù)責(zé)綁定就可以了;圖1:開發(fā)環(huán)境下,
    發(fā)表于 03-04 10:06

    HarmonyOS數(shù)據(jù)綁定的使用方法和技巧

    綁定”是實(shí)現(xiàn)上述場(chǎng)景最基礎(chǔ)的技術(shù),本文會(huì)基于一系列實(shí)例詳細(xì)介紹”HarmonyOS數(shù)據(jù)綁定“的使用方法和技巧。01 數(shù)據(jù)
    發(fā)表于 03-24 10:24

    labview 數(shù)據(jù)綁定求助

    求助 LABVIEW 大神 在每個(gè)控件屬性中有一個(gè)數(shù)據(jù)綁定綁定到本機(jī)的OPC服務(wù)器上 是正常可以用的如果我想把這個(gè)綁定路徑做成根我提供的
    發(fā)表于 10-24 09:19

    ADO 控件訪問(wèn)數(shù)據(jù)庫(kù)的各種技巧探討

    本文講述了使用ADO 控件訪問(wèn)數(shù)據(jù)庫(kù)時(shí)如何用程序來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接和數(shù)據(jù)感知控件數(shù)據(jù)庫(kù)的
    發(fā)表于 06-10 14:35 ?31次下載

    MMoIP控件的注冊(cè)方法

    控件的注冊(cè)方法
    發(fā)表于 12-27 16:13 ?0次下載

    圖片動(dòng)畫控件和Video image控件的使用方法

    在UI開發(fā)過(guò)程中,序列幀基本是繞不開的,AWTK 支持多種方法實(shí)現(xiàn)序列幀顯示,本文介紹圖片動(dòng)畫控件和Video image控件的使用方法。
    的頭像 發(fā)表于 08-06 16:44 ?898次閱讀
    圖片動(dòng)畫<b class='flag-5'>控件</b>和Video image<b class='flag-5'>控件</b>的使用<b class='flag-5'>方法</b>