Diskuze: WinForms - Přidání položek do ComboBoxu z kódu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 10 zpráv z 10.
//= 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.
V jakém jazyku?
Mám to pro VB.NET, ale je jednoduché to převést na C#
Třída:
public dtVed as new DataTable
Public Sub NactiVedouci()
dtVed.Clear()
Dim constr As String = ConfigurationManager.ConnectionStrings("DefaultConnection").ConnectionString
Dim dbcon As New SqlConnection(constr)
dbcon.Open()
Dim strVed As New SqlCommand("SELECT VedouciId, Jmeno FROM Vedouci ORDER BY Jmeno", dbcon)
Dim daVed As New SqlDataAdapter(strVed)
daVed.Fill(dtVed)
dbcon.Close()
End Sub
a ve formu pak
třída.NactiVedouci()
vedouciComboBox.DataSource = třída.dtVed
With vedouciListBox
.DisplayMember = "Jmeno"
.ValueMember = "VedouciId"
End With
Položky v ComboBoxu se mění přes
comboBox.Items.Add("Nějaký text");
a
comboBox.Items.Remove("Nějaký text");
Ano omlouvám se, mohl bys to prosím přepsat do C#? Ja se ve VB moc nevyznám...
Takhle je ale těžko budeš měnit za běhu programu...
V C# to zas moc ještě neumim já, ale existují různé konvertory.
Podstata je ale jasná:
Vytvoříš si datatable, do ní SQL dotazem uložíš data a ve formu si tu
datatable nastavíš jako zdroj dat pro tu komponentu, kterou potřebuješ, v
tvém případě ComboBox.
Já ale neřekl, že to nebude fungovat, jen že to budeš obtížně měnit za běhu programu. Když už potřebuješ měnit data v ComboBoxu, většinou je budeš tahat z DB a pak je asi hloupost přidávat a odebírat položky "po jedné"...
Samozřejmě. Pokud předpokládáš, že se ty položky budou měnit podle nějakých podmínek, asi budou někde uložené. Pak záleží na tom, kde. Když v nějaké DB, je jednodušší použít datatable, když v nějakém XML souboru, nebo v něčem podobném, použiješ pravděpodobně jednotlivé vkládání...
Zobrazeno 10 zpráv z 10.