powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / ComboBox
7 сообщений из 7, страница 1 из 1
ComboBox
    #38322238
BOBAHbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так сложилось что в один из ComboBox Попадают данные без кода.
если с кодом то заполняется легко, а вот что делать если падает список значений.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
            //Заполнение комбобокса со списком ABC List.
            _queryString = "select distinct Articles.ABCList from Articles";
            using (SqlConnection _conn = new SqlConnection(Program.GlobalSetting.UserConnectionString))
            {
                try
                {
                    _conn.Open();
                    DataTable _table = new DataTable();
                    SqlDataAdapter _dataAdapter = new SqlDataAdapter(_queryString, _conn);
                    _dataAdapter.Fill(_table);
                    cbAbcList.DataSource= _table;
                    
                    cbAbcList.ValueMember = "ABCList";
                        

                }
                catch (SqlException E)
                {
                    MessageBox.Show(E.Message);
                }

                finally
                {
                    _conn.Close();
                }
            }


Если сделать cbAbcList.DisplayMember = "ABCList"; то все красиво и работает далее, но хотелось бы пользователю предложить перевод, что эти буковки означают.
типа такого If (bAbcList.ValueMember ="A") cbAbcList.DisplayMember ="Буковка А" и так далее, а вот как реализовать не представляю.
Понимаю, что вопрос дурацкий, но что то в пятницу не выходит.
...
Рейтинг: 0 / 0
ComboBox
    #38322275
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BOBAHbI4,

Код: sql
1.
_queryString = "select distinct CONCAT('Буковка ', Articles.ABCList), Articles.ABCList from Articles";
...
Рейтинг: 0 / 0
ComboBox
    #38322278
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,
... ашипка

Код: sql
1.
_queryString = "select distinct CONCAT('Буковка ', Articles.ABCList) AS Hint,  Articles.ABCList from Articles";
...
Рейтинг: 0 / 0
ComboBox
    #38322301
BOBAHbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного не то. Можно конечно поизвращаться со строкой запроса хотелось бы средствами так сказать языка. Если ValueMember ="A" DisplayMember="строка 1" Пока таких значений 3 и последние 10 лет их количество не менялось. Поэтому эти значения и сидят непосредственно в таблице.
...
Рейтинг: 0 / 0
ComboBox
    #38322309
BOBAHbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
                    cbAbcList.ValueMember = "ABCList";
                   // cbAbcList.DisplayMember = "ABCList";
                    foreach (char value in cbAbcList.ValueMember)
                    {
                        if (value =='A')
                            cbAbcList.DisplayMember = "Это А";
                        if (value =='B')
                            cbAbcList.DisplayMember = "Это не А";
                        if (value =='-')
                            cbAbcList.DisplayMember = "Все остальное";

                    }


Но подозреваю что в логике что то не так... Но ошибок не дает. А работает как будто строку не закоментировал
...
Рейтинг: 0 / 0
ComboBox
    #38322315
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BOBAHbI4,

..а .. ну тогда
http://stackoverflow.com/questions/11982164/inline-if-statement-in-c-sharp

..а лучше функцию объявить со switch, да ее выхлоп и подставлять в DisplayValue ...
...
Рейтинг: 0 / 0
ComboBox
    #38322345
BOBAHbI4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бодался и переделал запрос и все стало на свои места
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT    distinct AbcList, 'value' = 
      CASE 
         WHEN ABCList =  'A' THEN 'Буковка А'
         WHEN ABCList='B' THEN 'Буковка Б'
         WHEN ABCList='-' THEN 'минусик'         
         ELSE 'Что то непонятное'
      END
FROM Articles


Зачем городить функцию если в запросе делается все это быстрее
Спасибо что натолкнули на правильное решение.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / ComboBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]