2013-09-25 72 views
1

我想我的組合框列出我所有的數組列表項目。這是我迄今爲止,但我不知道我可以添加到使其顯示每個數組列表項到組合框。 有沒有一種方法可以編寫Items.Display或其他東西?c#combobox顯示arraylist項目

public void eh() 
{ 
snip 
} 
+1

有你'cboActor.Items.Add(線)審判;'? –

+0

cbActor必須擁有一個名爲DataSource的屬性,只需指定cboActor.DataSource = ActorArrayList並查看wat的情況。 –

+2

您是否可以像WinForms或WPF一樣提供更多信息/ tagson框架? – meilke

回答

3
public void PopulateActors() 
{ 
    cboActor.Items.Clear(); 
    cboActor.Items.AddRange(ActorArrayList.Cast<string>()); 
} 
0

你需要在一個循環中創建ComboBoxItems和一個將它們添加一個:

ComboboxItem item = new ComboboxItem(); 
item.Text = "Item text1"; 
item.Value = 12; 

cboActor.Items.Add(item); 

希望這有助於:)

0
foreach (string line in ActorArrayList) 
{ 
    cboActor.Items.Add(line);   
} 
1

您可以使用DataSource綁定在ArrayList到您的組合框:

yourComboBox.DataSource = yourArrayList; 

使用DisplayMemberValueMember選擇顯示什麼,什麼是評價項目的Value

yourComboBox.DisplayMember = "Displayed thing"; 
youtComboBox.ValueMember = "Evaluated thing"; 

如果不指定DisplayMember,該ToString()將被稱爲在每個項目上獲得顯示的字符串。在你的情況下,它看起來像你有一個字符串ArrayList,所以你不需要爲DisplayMemberValueMember指定任何值。

注意:您應該使用List<T>相反,它會更好。 ArrayList只是一箇舊東西。

0

您必須添加一個ListItem(文字,值)

foreach (Actor line in ActorArrayList) 
    { 
     cboActor.Items.Add(new ListItem(line.Name ,line.ID)); //as second part you may enter the ID of the object so you can use it at a later time 
    } 
} 
1

您可以創建這樣

ArrayList sampleArray = new ArrayList(); 
      sampleArray.Add("India"); 
      sampleArray.Add("China"); 
      sampleArray.Add("USA"); 
      sampleArray.Add("UK"); 
      sampleArray.Add("Japan"); 

一個數組列表,然後可以將其添加到您的組合框

cboActor.Items.Clear(); 
cboActor.Items.AddRange(sampleArray); 
0

上面沒有提到的另一個例子!類似希德男,因爲這並沒有爲我工作,我分享我發現我的解決方案:

String[] data = new String[]{"Data1", "Data2", "Data3", "Data4"}; 

cboData.Items.AddRange(data);