Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860

Выбор в comboBox2 - ValueMember и SelectedItem

22.12.2024, 12:42. Показов 388. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему у меня при выборе пункта в combobox1 выбираются системой пункты-значения
Хотя я везде поставил ValueMember = null и SelectedItem = null

у меня в консоле высвечивается
combobox3 - 1
combobox3 text - System.Data.DataRowView
combobox3 - 1
combobox3 text - Азербайджан

combobox3 - 1
combobox3 text - Азербайджан
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
        public void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex > -1)
            {
 
                
                comboBox2.BackColor = Color.FromArgb(0xff, 0xff, 0xff);
 
                using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Executive_Documentation.Properties.Settings.Database1ConnectionString"].ConnectionString))
                {
                    //ComboBox1
                    //Создайте экземпляр SqlDataAdapter, указав текст команды и объект подключения
                    SqlDataAdapter dataAdapter = new SqlDataAdapter("SELECT Id, id_Category_organizations, id_OPF_organizations FROM Table12_Category_OPF_organizations", connection);
                    //Создание объекта с данными
                    DataTable EmployeeDataTable = new DataTable();
                    //Заполнение таблицы данных с использованием метода Fill объекта SqlDataAdapter
                    dataAdapter.Fill(EmployeeDataTable);
                    //Создание экземпляра представления данных с использованием свойства DefaultView таблицы данных
                    DataView dataView = EmployeeDataTable.DefaultView;
 
                    //Применение первого фильтра
                    int i = comboBox1.SelectedIndex + 1;
                    dataView.RowFilter = "id_Category_organizations = " + i;
 
                    //Применение второго фильтра
                    // SqlDataAdapter dataAdapter1 = new SqlDataAdapter($"SELECT a.Id, a.Name_OPF_organizations FROM Table11_OPF_organizations a JOIN Table12_Category_OPF_organizations b ON b.id_OPF_organizations = a.Id", connection);
 
                    SqlDataAdapter dataAdapter1 = new SqlDataAdapter($"SELECT * FROM Table11_OPF_organizations, Table12_Category_OPF_organizations WHERE Table12_Category_OPF_organizations.Id_Category_organizations = " + i + " AND Table11_OPF_organizations.Id = Table12_Category_OPF_organizations.Id_OPF_organizations", connection);
                    DataTable EmployeeDataTable1 = new DataTable();
                    dataAdapter1.Fill(EmployeeDataTable1);
                    comboBox2.DataSource = EmployeeDataTable1;
                    comboBox2.DisplayMember = "Name_OPF_organizations";
                    //comboBox2.ValueMember = "Id";
                    comboBox2.ResizeCombo();
                    
 
                    foreach (Control controlTextBox in this.Controls.OfType<TextBox>()) // пробегаемся по элементом формы
                    {
                        controlTextBox.Enabled = false;
                        controlTextBox.BackColor = Color.FromArgb(0xC0, 0xC0, 0xC0);
                    }
 
                    connection.Open();
                    connection.Close();
                    SetTextBoxProperties(false, Color.FromArgb(0xC0, 0xC0, 0xC0));
 
 
                    
                }
            }
            comboBox2.ValueMember = null;
            comboBox3.ValueMember = null;
            comboBox4.ValueMember = null;
            comboBox5.ValueMember = null;
            comboBox6.ValueMember = null;
            comboBox2.SelectedItem = null;
            comboBox3.SelectedItem = null;
            comboBox4.SelectedItem = null;
            comboBox5.SelectedItem = null;
            comboBox6.SelectedItem = null;
            comboBox2.Enabled = true;
            comboBox3.Enabled = false;
            comboBox4.Enabled = false;
            comboBox5.Enabled = false;
            comboBox6.Enabled = false;
            dateTimePicker1.Enabled = false;
            dateTimePicker1.BackColor = Color.FromArgb(0xC0, 0xC0, 0xC0);
            checkBox1.Checked = false;
            checkBox2.Checked = false;
            checkBox3.Checked = false;
            checkBox1.Enabled = false;
            checkBox2.Enabled = false;
            checkBox3.Enabled = false;
        }
 
        private void ComboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox2.SelectedIndex > -1)
            {
                //comboBox3.ResizeCombo();
 
                SetTextBoxProperties(true, Color.FromArgb(0xff, 0xff, 0xff));
                textBox20.Enabled = false;
                textBox21.Enabled = false;
                textBox24.Enabled = false;
                dateTimePicker1.Enabled = true;
                dateTimePicker1.BackColor = Color.FromArgb(0xff, 0xff, 0xff);
                checkBox1.Enabled = true;
                checkBox2.Enabled = true;
                checkBox3.Enabled = true;
                comboBox3.Enabled = true;
                comboBox3.BackColor = Color.FromArgb(0xff, 0xff, 0xff);
 
                SqlConnection connection0 = new SqlConnection(ConfigurationManager.ConnectionStrings["Executive_Documentation.Properties.Settings.Database1ConnectionString"].ConnectionString);
                connection0.Open();
                SqlDataAdapter dataAdapter2 = new SqlDataAdapter($"SELECT * FROM Table16_Country", connection0);
                DataTable EmployeeDataTable1 = new DataTable();
                dataAdapter2.Fill(EmployeeDataTable1);
                comboBox3.DataSource = EmployeeDataTable1;
                comboBox3.DisplayMember = "Country";
                //comboBox3.ValueMember = "Id";
                comboBox3.ValueMember = null;
                comboBox4.ValueMember = null;
                comboBox5.ValueMember = null;
                comboBox6.ValueMember = null;
                comboBox3.SelectedItem = null;
                comboBox4.SelectedItem = null;
                comboBox5.SelectedItem = null;
                comboBox6.SelectedItem = null;
                comboBox4.Enabled = false;
                comboBox5.Enabled = false;
                comboBox6.Enabled = false;
            }
        }
 
        private void ComboBox3_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox3.SelectedIndex > -1)
            {
                comboBox4.Enabled = true;
                comboBox4.BackColor = Color.FromArgb(0xff, 0xff, 0xff);
 
                using (SqlConnection connection1 = new SqlConnection(ConfigurationManager.ConnectionStrings["Executive_Documentation.Properties.Settings.Database1ConnectionString"].ConnectionString))
                {
                    connection1.Open();
                    int i = comboBox3.SelectedIndex + 1;
                    string a = comboBox3.GetItemText(comboBox3.SelectedItem);
                    Console.WriteLine("combobox3 - " + i);
                    Console.WriteLine("combobox3 text - " + a);
                    SqlDataAdapter dataAdapter3 = new SqlDataAdapter($"SELECT * FROM Table13_Subject_tip WHERE Table13_Subject_tip.Country = " + i, connection1);
                    DataTable EmployeeDataTable2 = new DataTable();
                    dataAdapter3.Fill(EmployeeDataTable2);
                    comboBox4.DataSource = EmployeeDataTable2;
                    comboBox4.DisplayMember = "Subject_tip";
                    comboBox4.ValueMember = "Id";
                    comboBox4.ValueMember = null;
                    comboBox5.ValueMember = null;
                    comboBox6.ValueMember = null;
                    comboBox4.SelectedItem = null;
                    comboBox5.SelectedItem = null;
                    comboBox6.SelectedItem = null;
                    comboBox5.Enabled = false;
                    comboBox6.Enabled = false;
                    connection1.Close();
                }
            }
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.12.2024, 12:42
Ответы с готовыми решениями:

Combobox: выбор значения по ID (ValueMember)
Следующим образом заполняю combobox Dim DT As New Data.DataTable MainForm.makeRequest(&quot;SELECT `id`, `title` FROM...

Программный выбор ComboBox по ValueMember
Привет, друзья. Не пинайте сильно, но третий день не могу найти решение. Есть ComboBox, есть ArrayList, устанавливаю свойству ...

combobox2.text не переносит свое значение в label1.caption и в clientdataset1.Lookup('Dolz',ComboBox2.text,'Put')
1 Выбираю первым комбобоксом фильтрующее значение, фильтрую таблицу и заполняю второй комбобокс значениями из второго поля таблицы 2...

1
2287 / 1603 / 400
Регистрация: 26.06.2017
Сообщений: 4,756
Записей в блоге: 1
22.12.2024, 15:13
Ну наверное потому, что условия в обработчиках всё таки выполняются. А вообще следует использовать некую модель данных в программе, а не управлять noname элементами управления напрямую. Я про вот такое:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
comboBox2.ValueMember = null;
            comboBox3.ValueMember = null;
            comboBox4.ValueMember = null;
            comboBox5.ValueMember = null;
            comboBox6.ValueMember = null;
            comboBox2.SelectedItem = null;
            comboBox3.SelectedItem = null;
            comboBox4.SelectedItem = null;
            comboBox5.SelectedItem = null;
            comboBox6.SelectedItem = null;
            comboBox2.Enabled = true;
            comboBox3.Enabled = false;
            comboBox4.Enabled = false;
            comboBox5.Enabled = false;
            comboBox6.Enabled = false;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2024, 15:13
Помогаю со студенческими работами здесь

WPF MVVM Програмный выбор SelectedItem в Treeview
У меня есть 2 класса : public class Employer : INotifyPropertyChanged { #region Properties ...

Вставка из ComboBox.ValueMember
Добрый вечер друзья! Проблема такая: не вставляется в базу SQLServer значение из ComboBox.ValueMember. Выдает ошибку, я думаю что что-то с...

ComboBox обновление значения в ValueMember из БД
Здравствуйте. На форме имеется три комбоБокса.Заполняются следующим образом private void Form_Load(object sender, EventArgs e) //...

Отобразить DisplayMember в DataGridViewCell по ValueMember
есть DataGridView1 в него добавлен столбец Dim c as New DataGridViewComboboxColumn c.DisplayMember = &quot;name&quot; c.ValueMember =...

ComboBox и ValueMember: использование источника данных
В WinForms работает следующий метод public void FillLB() { SqlConnection sqlconn1 = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru