2013-09-25 5 views
1

Я хочу, чтобы мой список со списком всех элементов списка элементов массива. Это то, что у меня есть до сих пор, но я не знаю, что я могу добавить, чтобы он отображал каждый элемент списка массива в поле со списком. Есть ли способ, которым я могу написать Items.Display или что-то подобное?C# combobox display arraylist items

public void eh() 
{ 
snip 
} 
+1

Пытались ли вы с 'cboActor.Items.Add (строка);'? –

+0

cbActor должен иметь свойство, называемое DataSource, просто назначить cboActor.DataSource = ActorArrayList и посмотреть, как происходит wat. –

+2

Можете ли вы предоставить больше информации/фреймворки tagon, используемые как WinForms или WPF? – 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; 

Используйте DisplayMember и ValueMember выбрать то, что отображается и то, что оценивается как Value пункта:

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

Если вы не указываете DisplayMember, то ToString() будет называться по каждому пункту, чтобы получить вместо отображаемой строки. В вашем случае похоже, что у вас есть строка ArrayList, поэтому вам не нужно указывать какие-либо значения для DisplayMember и ValueMember.

ПРИМЕЧАНИЕ: Вместо этого вы должны использовать List<T>, было бы лучше. ArrayList - это просто старый материал.

0

Вы должны добавить ListItem (Text, Value)

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

Другой пример, не упомянутый выше! Подобно Sid М, так как это не работает для меня, я разделяю решение, которое я нашел для меня:

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

cboData.Items.AddRange(data);