Diskuze: Nesprávna hodnota v ComboBox

C# .NET .NET (C# a Visual Basic) Nesprávna hodnota v ComboBox American English version English version

Avatar
asoft
Člen
Avatar
asoft:

Mám ComboBox.

"SELECT ..."
this.DataSource = Table;
this.ValueMember = "Value";
this.DisplayMember = "Ident";

Zdroj údajov je tabuľka.
Naplním ComboBox. Som na prvom riadku.
ComboBox.Text je hodnota "System.Data.Da­taRowView"

ComboBox.Selec­tedIndex = 0;
Stále to isté.

Idem na iný riadok:
ComboBox.Selec­tedIndex = 1;
Vrátim sa naspäť:
ComboBox.Selec­tedIndex = 0;
ComboBox.Text hodnota je už taká aká má byť.

Čiže, aby to bolo OK musím ísť na iný riadok a vrátiť sa naspäť.
Teraz už keď idem na akýkoľvek riadok, tak je všetko OK.

 
Odpovědět 4.1.2015 9:06
Avatar
Odpovídá na asoft
Michal Štěpánek:

Hoď sem kód, kterým plníš tu datatable

Nahoru Odpovědět 4.1.2015 9:26
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na asoft
Michal Štěpánek:

Ještě mě napadlo, neprovádíš to plnění ComboBoxu déle, než jeho samotnou inicializaci? Zkus ten postup obrátit. Nejdřív ho naplň daty a pak teprve ho zobraz...

Nahoru Odpovědět 4.1.2015 11:32
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
asoft
Člen
Avatar
Odpovídá na Michal Štěpánek
asoft:
public void Naplnenie_ComboBox()
        {
            SqlConnection Sql_Pripojenie = new SqlConnection ConfigurationManager.ConnectionStrings["Databaza_Forest_ConnectionString"].ConnectionString);
            SqlCommand Sql_Prikaz = new SqlCommand();
            Sql_Prikaz.Connection = Sql_Pripojenie;
            Sql_Prikaz.CommandText = "SELECT Sof_ParZnak, Sof_Meno + '-' + Sof_ParZnak AS Sof_Ident FROM c_Soferi ORDER BY Sof_Meno";
            SqlDataAdapter Sql_Adapter = new SqlDataAdapter();
            Sql_Adapter.SelectCommand = Sql_Prikaz;
            Sql_Pripojenie.Open();

            DataTable Sql_Table = new DataTable();
            //table.Locale = System.Globalization.CultureInfo.InvariantCulture;
            Sql_Adapter.Fill(Sql_Table);

            Sql_Adapter.Dispose();
            Sql_Prikaz.Dispose();
            Sql_Pripojenie.Close();
            Sql_Pripojenie.Dispose();

            this.DataSource = Sql_Table;
            this.ValueMember = "Sof_ParZnak";
            this.DisplayMember = "Sof_Ident";

            if (this.Items.Count > 0)
            {
                this.SelectedIndex = 1;
            }
            this.SelectedIndex = 0;
        }
 
Nahoru Odpovědět 4.1.2015 14:23
Avatar
Odpovídá na asoft
Michal Štěpánek:

Nemůže být problém toto

Sql_Prikaz.CommandText = "SELECT Sof_ParZnak, Sof_Meno + '-' + Sof_ParZnak AS Sof_Ident FROM c_Soferi ORDER BY Sof_Meno";

podle mě by mělo být

ORDER BY Sof_Ident

kdy ten ComboBox zobrazuješ?

Nahoru Odpovědět 4.1.2015 15:53
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.