Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Чтение данных из Combobox


Автор: NEt_Hunter 6.7.2010, 12:16
Приветствую всех! Возникла небольшая проблема с чтением данных из Combobox.  Заполнил комбобокс  данными колонны Department базы данных bank. Допустим значениями: "First", "Second", "Third". Нужно чтобы в зависимости от выбора содержимого комбобокса ("First", "Second", "Third") произвести какую либо операцию, например вывод на экран выбранного значения. Очень надеюсь на вашу помощь, спасибо!

Сам код заполнения comboBox:
Код

 string oradb = "Data Source=bank;User Id=bank_admin;Password=bank_admin;";
            OracleConnection conn = new OracleConnection(oradb);
            conn.Open();
            string sql = "select distinct Department from Staff";
            OracleCommand cmd = new OracleCommand(sql, conn);
            cmd.CommandType = CommandType.Text;

            OracleDataReader dr = cmd.ExecuteReader();
            dr.Read();
            while (dr.Read()) 
            {
                comboBox1.Items.Add(dr["Department"].ToString());
            }

Автор: DarkProg 6.7.2010, 12:26
Там кажись же должно быть свойство ItemIndex, которое начинается с 0 и до Items.Count-1???
Его и используйте и его сравнивайте так эффективнее, особенно если вы где-то в значении ошибётесь(ну т.е. грузите вы например из ini файла где написано одын, а надо то один) и потом придётся его менять, и искать сравнение в коде.

Автор: NEt_Hunter 6.7.2010, 14:06
Если не трудно дайте пример или укажите синтаксис.

Автор: A5uKa 6.7.2010, 14:15
Лучше бы создать провайдер который будет возвращать строку и id . И указать его в DataSource так, что бы Id улетало в колонку Value а текст в Text

Ну а потом что-то вроде
Код

    protected virtual DropDownList3_SelectedIndexChanged (_ : object,  _ : System.EventArgs) : void
    {
      LoadData(DropDownList3.SelectedItem.Value);
    }

Автор: KelTron 6.7.2010, 18:53
Код

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    MessageBox.Show(this.comboBox1.Text);
}

Надеюсь по названию функции догадаешься к какому событию это надо прицепить..)

Автор: NEt_Hunter 8.7.2010, 17:25
Спасибо всем большое! A5uKa, ваш метод немного сложноват для меня:(  KelTron, ваш уже более понятливыйsmile  Но я выбрал вариант:

Код

MessageBox.Show(comboBox1.SelectedItem.ToString());


Еще раз всем спасибо!!!!

Автор: jonie 8.7.2010, 17:27
Цитата

comboBox1.SelectedItem
проверяйте на null его

Автор: NEt_Hunter 9.7.2010, 15:43
Цитата

comboBox1.SelectedItem
проверяйте на null его


Будет сделано smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)