2009-08-20 60 views
2

我不知道从哪里开始。我想数据表,但没有奏效。(这是一个简单的问题:))如何在c中使用组合框#

我什么都试过

{ 
    var test = new DataTable(); 
    test.Columns.Add("test"); 
    test.TableName = "test"; 
    test.Columns.Add("test"); 

    comboBox1.DataSource = test.XXXX ; 

} 

回答

6

假设你的意思的WinForms,是这样的:

DataTable test = new DataTable(); 
    test.TableName = "test"; 
    test.Columns.Add("foo", typeof(string)); 
    test.Columns.Add("bar", typeof(int)); 
    test.Rows.Add("abc", 123); 
    test.Rows.Add("def", 456); 

    ComboBox cbo = new ComboBox(); 
    cbo.DataSource = test; 
    cbo.DisplayMember = "foo"; 
    cbo.ValueMember = "bar"; 

    Form form = new Form(); 
    form.Controls.Add(cbo); 
    Application.Run(form); 

(尤其SelectedValue应该给你123456 - IDS的有用,等等)

1

你需要设置“DataItemField”和“DataValueField”到适当的您的数据表中的列名称。

2
DataTable dt=new DataTable(); 
    dt.Columns.Add("Col1",typeof(int)); 
    dt.Columns.Add("Col2",typeof(String)); 
    dt.Rows.Add(1,"A"); 
    dt.Rows.Add(2,"B"); 

    comboBox1.DataSource = dt; 
    comboBox1.DisplayMember = "Col2"; 
    comboBox1.ValueMember = "Col1";