Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление ComboBox 
:(
    Опции темы
Vitkaz
  Дата 9.4.2009, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 29.11.2006

Репутация: нет
Всего: нет



   Привет всем! Есть ComboBox, который содержит столбец одной из таблиц, в процессе работы в эту таблицу добавляются новые записи. Как сделать так, чтобы ComboBox содержал в себе эти записи ? Помогите пожалуйста, искал похожие темы по форумам, но ничего полезного не нашел.

Это сообщение отредактировал(а) Vitkaz - 9.4.2009, 07:21
PM MAIL   Вверх
Idsa
Дата 9.4.2009, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Здесь 2 варианта - либо добавлять/удалять записи вручную, либо забаиндить (предпочтительно). Конкретная реализация зависит от того, что Вы используете: WinForms или WPF.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Vitkaz
Дата 9.4.2009, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 29.11.2006

Репутация: нет
Всего: нет



  Я использую WinForms. Мне приходилось подобное проделывать в FoxPro. Там я  делал запрос select . . . from . . . where . . . into cursor и потом курсор подключал к ComboBox. А в Visual Studio на C# не знаю как.  
PM MAIL   Вверх
Vitkaz
Дата 11.4.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 29.11.2006

Репутация: нет
Всего: нет



Может кто-нибудь подскажет ?
PM MAIL   Вверх
Doss
Дата 11.4.2009, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Может я чего-то не понял, но вопрос в том, как вывести в списке комбо одно из полей тадлицы, ноходящейся в базе.
тогда так:

Код

 using (OleDbConnection conn = new OleDbConnection(connStringTable))
            {
                //-----------------
                try
                {
                    conn.Open();
                    //-------------------------------------------------
                    //----------------------------------------------------
                   OleDbDataAdapter  da = new OleDbDataAdapter(connString, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "Твоя таблица");
                    DataView dv = new DataView(ds.Tables["Твоя таблица"]);
                    foreach (DataRowView dr in dv)
                    {
                        ListItemDataView directionItem = new ListItemDataView(dr);
                        directionItem.Text = dr["Твое поле в таблице"].ToString();
                        ComboBoxName.Items.Add(directionItem.Text);

                    }
                    conn.Close();
                }

                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message, ex.Source);
                    conn.Close();
                }
                //------------------
            }


Но класс нужно иметь, что бы проходить по каждой записи в таблице
к примету этокой:

Код

 class ListItemDataView
    {
        private DataRowView itemRow = null;

        /// <summary>
        /// Это свойство доступно только для чтения. Оно возвращает DataRow данного item в списке
        /// </summary>


        internal ListItemDataView()
        {
            this.text = "";
        }

        internal ListItemDataView(DataRowView row)
        {
            this.text = "";
            this.itemRow = row;
        }

        private string text;
        internal string Text
        {
            get { return text; }
            set { text = value; }
        }

        internal DataRowView ItemRow
        {
            get { return itemRow; }
        }
    }

Удалять или редактировать, либо добавлять стандатрным образом, но при этом обновить после операции твой комбо
так, 
Код

comboBox.Items.Clear();

PM MAIL   Вверх
Vitkaz
Дата 11.4.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 29.11.2006

Репутация: нет
Всего: нет



Я заполняю ComboBox, как показано в прилагаемом файле. ComboBox содержит список вкладов. Я добавляю новый вклад, но в ComboBox`е он появляется только после перезапуска формы. Мне нужно, чтобы новый добавленный вклад содержался в ComboBox`е, сразу после добавления. 


Это сообщение отредактировал(а) Vitkaz - 11.4.2009, 22:58

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  corel.jpg 66,46 Kb
PM MAIL   Вверх
Экскалупатор
Дата 11.4.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 3
Всего: 24



если я вас правильно понял то:
у контрола ComboBox есть свойства DataSours  и DisplayMember привязываете их к вашему дата сет, к нужной таблице, а потом к той колонке в датасет которая вам нужна. вроде так.

Код

DataWorking dataowrk = new DataWorking();//класс работы с данными
            DataSet ds = dataowrk.myDataSet_View(); //получаем датасет с интересующими данными
            comboBox1.DataSource = ds.Tables["table1"];
            comboBox1.DisplayMember = ds.Tables["table1"].Columns[0].ToString();



в итоге получаем комбобокс в котором отображены все данные из колонки с индексом "0", из таблицы "tables1"

Добавлено через 3 минуты
Цитата

Я заполняю ComboBox, как показано в прилагаемом файле. ComboBox содержит список вкладов. Я добавляю новый вклад, но в ComboBox`е он появляется только после перезапуска формы. Мне нужно, чтобы новый добавленный вклад содержался в ComboBox`е, сразу после добавления. 


обработайте событие формы(например Focus_Activated) что бы оно как бы перезаливало все нужные вам данные(перезапускало форму) и все данные будут обновлены
PM MAIL ICQ   Вверх
Vitkaz
Дата 12.4.2009, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 29.11.2006

Репутация: нет
Всего: нет



 Благодарю за совет! Попробую разобраться.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0881 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.