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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заполнение комбобокса из базы данных. И добавление своих значений. 
:(
    Опции темы
iddqd
Дата 15.6.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Мне необходимо заполнить комбобокс всеми уникальными значениями из определенной колонки моей таблицы БД и дописать 3-4 своих значения. Как это можно реализовать?
Как выглядит SQL запрос - я представляю, но как заполнить и добавить значения?


--------------------
PM MAIL   Вверх
thomas
Дата 15.6.2007, 14:55 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

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



iddqd, 
Привет.
Пишешь запрос к базе на выборку данных из нужной колонки. Для уникальности применяешь волшебное слово
DISTINCT. Да и в запросе не плохо указать сортировку.
Помещаешь все это во временную таблицу в ДатаСет, а потом построчно из этой таблицы заполняешь ComboBox.
Ну и плюс приклеиваешь свои значения.
Код

           //maken tabelen in DataSet
            sql = "select DISTINCT [Naam klant] from tblKlanten order by [Naam klant]";
            da = new OleDbDataAdapter(sql, con);
            da.Fill(ds, "klanten");

            con.Close();

            //invullen ComboBoxen 
            foreach (DataRow dr in ds.Tables["klanten"].Rows)
            {
                cmbKlant.Items.Add(dr["Naam klant"]); 
            }


При таком подходе потом можешь так же пользоваться индексами ComboBox для чтения значений.

Надеюсь тебе пригодиться.  smile 


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
iddqd
Дата 15.6.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо за быстрый и развернутый ответ.
Как часто надо обновлять комбобокс таким образом? Просто у меня таблица, откуда я читаю может обновлятся очень часто.
И не ли в С# самого просто Lookup Combobox?

Добавлено через 7 минут и 15 секунд
Оказывается в наборе DevExpress таки есть такой контрол. Но загвоздка в том, что мне надо хранить в этом поле номер записи, н опри этом, чтоб отображалась другая колонка из этой записи.
Т.е. Есть две таблицы:
1. Счетчик, Номер (строка), ...
2. Счетчик, Номер_из_первой_таблицы (для связи таблиц), ...

Мне надо, что в колонке "Номер_из_первой_таблицы" отображалось списком строки с соответствием для "Номер (строка)" из первой таблицы.


--------------------
PM MAIL   Вверх
kobra
Дата 15.6.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(iddqd @  15.6.2007,  15:04 Найти цитируемый пост)
И не ли в С# самого просто Lookup Combobox?
нет, но подклучив к своиству DataSourse таблицу, можно семулировать.

PM MAIL   Вверх
iddqd
Дата 15.6.2007, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я сделал средствами DevExpress, но при выборе поля появляется ошибка: Object must implement IConvertible.
Мол там не реализован этот интерфейс. Как с этим быть? Как это обойти?


--------------------
PM MAIL   Вверх
Mag
Дата 14.7.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(iddqd @ 15.6.2007,  16:00)
Я сделал средствами DevExpress, но при выборе поля появляется ошибка: Object must implement IConvertible.
Мол там не реализован этот интерфейс. Как с этим быть? Как это обойти?

К рабочиму классу добавить  IConvertible интерфейс. Пример:
Код

public class Classname : IConvertible


Это сообщение отредактировал(а) Mag - 14.7.2007, 16:58
--------------------
В  каждой черной комнате есть выход - всегда есть выход с любой ситуации!
PM MAIL WWW ICQ   Вверх
1datr
Дата 3.3.2009, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А как сделать, чтобы в гриде были комбобоксы и лукапы?
PM MAIL   Вверх
Unlocker
Дата 13.3.2009, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 2.11.2007
Где: Москва - Знаменск (Капустин Яр)

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



Насчет комбика точно не скажу.
Но вот ListView может решить проблему с сохранением необходимого содержимого, скрытого от глаз юзверя.
Надо просто унаследовать от ListViewItem класс и вписать в него нужные поля + конструктор, который будет эти поля инициализировать. В итоге вы получите контрол, в котором перечислены семантически значимые имена, их можно сортировать. А с выбранными значениями можно работать через свойства SelectedItem, SelectedIndex и т.д. По желанию, можно в процессе обновления добавлять свои значения. Останется только бизнес-логика обработки всего этого хозяйства.
--------------------
"Если бы Шекспир был программистом, то фразу "To be or not to be" он написал бы так: 2b | ! 2b."
PM MAIL ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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