1. 程式人生 > >C# combobx 繫結資料

C# combobx 繫結資料

1.DataTable繫結

用DataTable直接繫結,只需要設定DataSource、DisplayMember、ValueMember三個屬性即可。

this.cmbConsume.DataSource = dtSuperMarket;
this.cmbConsume.DisplayMember = "Name"; 
this.cmbConsumet.ValueMember = "ID";
this.cmbConsume.SelectedIndex = 0;   //選中第一項

在使用時使用如下方式,即可取得相應的ID和Name:

string id = this.cmbConsume.SelectedValue;
string name = this.cmbConsume.SelectedText;

2.ComboBox.Items.Add

一開始使用時,以為像Asp.net那樣有ListItem屬性可以使用,但Items只有幾個特別簡單的屬性,還好Add(object item),所以就只能在object這裡作文章了。

所以就把要繫結的item新new 了一個物件,再重寫ToString(),如是乎就可以了。寫一個ListItem類:

/// <summary>
 /// ListItem用於ComboBox控制元件新增項
 /// </summary>
 public class ListItem
 {
     public string Text
     {
         get;
         set;
     }
     public string Value
     {
         get;
         set;
     }

     public override string ToString()
     {
         return this.Text;
     }
 }
private void Test()
{
    ListItem item = new ListItem();
    item.Text = "Item text1";
    item.Value = 12;

    comboBox1.Items.Add(item);

    comboBox1.SelectedIndex = 0;

    MessageBox.Show((comboBox1.SelectedItem as ListItem).Value.ToString());
}

好文要頂