Diskuze: Zápis navolených textů z dvaceti ComboBoxů do Listu pomocí For cyklu, v C# WPF
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Pokud máte všechny ComboBoxy v jednom gridu nebo nějakém panelu, můžete projít list vasGrid.Children a pro každou položku můžete přidat její hodnotu do listu
List<string> list = new List<string>();
foreach (Control c in vasGrid.Children) {
list.Add((c as ComboBox).Text)
}
Ještě se to dá vylepšit Linq metodou OfType, která rovnou profiltruje Children podle typu. Vyhne se tak chybě, pokud má v gridu i něco jiného než jen comboboxy:
List<string> list = new List<string>();
foreach (ComboBox cb in vasGrid.Children.OfType<ComboBox>())
list.Add(cb.Text);
Děkuju moc za rady, pokusím se to implementovat, až to budu dočesávat. Já to nakonec musel obejít, asi to vypadá dost "humpolácky", ale účel mi to splnilo. Dal jsem si všechny ComboBoxy do Listu a na ten jsem použil For cyklus:
public List<ComboBox[]> Seznam_ComboBox = new List<ComboBox[]>();
private void Vytvor_Seznam_ComboBox()
{
Seznam_ComboBox.Add(new ComboBox[] { MS_ComboBox_01, V_ComboBox_01, S_ComboBox_01, St_ComboBox_01 });
Seznam_ComboBox.Add(new ComboBox[] { MS_ComboBox_02, V_ComboBox_02, S_ComboBox_02, St_ComboBox_02 });
Seznam_ComboBox.Add(new ComboBox[] { MS_ComboBox_03, V_ComboBox_03, S_ComboBox_03, St_ComboBox_03 });
//...
// až
//...
Seznam_ComboBox.Add(new ComboBox[] { MS_ComboBox_23, V_ComboBox_23, S_ComboBox_23, St_ComboBox_23 });
Seznam_ComboBox.Add(new ComboBox[] { MS_ComboBox_24, V_ComboBox_24, S_ComboBox_24, St_ComboBox_24 });
}
Zobrazeno 4 zpráv z 4.