簡體   English   中英

如何填充c#windows表單組合框?

[英]How to populate c# windows forms combobox?

如何從sql數據庫填充一個組合框(帶有id和名稱列的學生表),顯示文本代表學生的名字,組合框項目的值是該學生的id,當我得到的值時組合框我會得到id值

以下是您的重要屬性。

ComboBox.DataSource屬性

數據源可以是數據庫,Web服務或稍后可用於生成數據綁定控件的對象。 設置DataSource屬性時,無法修改items集合。

ComboBox.DisplayMember屬性

一個String,指定DataSource屬性指定的集合中包含的對象屬性的名稱。 默認值為空字符串(“”)。

ComboBox.ValueMember屬性

一個String,表示DataSource屬性指定的集合中包含的對象屬性的名稱。 默認值為空字符串(“”)。

DataTable dataTable = GetDataTable("Select * from Student"); // You have to implement the ways to retrieve data from the database.
comboBox1.Datasource = dataTable;
comboBox1.DisplayMember = StudentName; // Column Name
comboBox1.ValueMember = StuentId;  // Column Name

如果您想以編程方式添加項目,這是一種方法。

private class Item 
{
      public string _Name;
      public int _Id

      public Item(string name, int id) 
      {
          _Name = name; 
          _Id = id;
      }

      public string Name
      {
          get { return _Name; }
          set { _Name = value; }
      }

      public string Id
      {
          get { return _Id; }
          set { _Id = value; }
      }
}   

comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Id";

comboBox1.Items.Add(new Item("Student 1", 1));
comboBox1.Items.Add(new Item("Student 2", 2));
comboBox1.Items.Add(new Item("Student 3", 3));

有很多方法可以做到這一點。

如何:從Windows窗體組合框中添加和刪除項目

ComboBox.Items屬性

首先,您需要弄清楚如何從數據庫中獲取數據,但我會假設您已經知道或打算就此提出另一個問題。 從那里,你最好的辦法是將一些集合綁定到ComboBox 以下是使用DataSet執行操作的示例。 您還可以綁定到List<T>或其他IEnumerable<T> ,如果您要使用LINQ獲取數據,這將更有意義。 這里有一個關於將List綁定到ComboBox也許您可以告訴我們您打算如何獲取數據,以便我們可以為您提供更加量身定制的答案?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM