2013-09-25 68 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);