Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29

Выборка из БД по изменению значения в combobox

13.05.2015, 12:21. Показов 4231. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
хочу сделать выборку в DataGridView с помощью 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
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
 
namespace NNGF_proj
[LEFT]{
    public partial class Party : Form
    {
        public Party()
        {
            InitializeComponent();
        }
        SqlConnection con = new SqlConnection("Data Source=PC\\SQLEXPRESS;Initial Catalog=NNGFDB;Integrated Security=True;Pooling=False"); 
        private void Party_Load(object sender, EventArgs e)
        {
         
            con.Open();
            SqlDataAdapter exp= new SqlDataAdapter("Select * from Expidition order by Name_Exp", con);
            
            DataTable dt = new DataTable();
            exp.Fill(dt);
            comboBox1.DataSource = dt;
            comboBox1.DisplayMember = "Name_Exp";
            comboBox1.ValueMember = "Id_EXp";
            comboBox1.SelectedIndex= 1;
con.Close();
            
            SqlDataAdapter sdaa = new SqlDataAdapter("Select * from party where Exp='"+Convert.ToInt32(comboBox1.SelectedValue)+"'", con);
 
            DataTable DATA = new DataTable();
            dataGridView1.DataSource = DATA;
            sdaa.Fill(DATA);
            
            
           
            
 
        }
 
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
         
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            label2.Text = comboBox1.SelectedValue.ToString();
            
                con.Open();
                SqlDataAdapter sdaa = new SqlDataAdapter("Select * from party where Exp='" + Convert.ToInt32(comboBox1.SelectedValue) + "'", con);
 
                DataTable DATA = new DataTable();
                dataGridView1.DataSource = DATA;
                sdaa.Fill(DATA);
                con.Close();
           
    
        }
 
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
        
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            SqlDataAdapter sdaa = new SqlDataAdapter("Select * from party where Exp='" + Convert.ToInt32(comboBox1.SelectedValue) + "'", con);
 
            DataTable DATA = new DataTable();
            dataGridView1.DataSource = DATA;
            sdaa.Fill(DATA);
            
        }
 
        private void comboBox1_ValueMemberChanged(object sender, EventArgs e)
        {
            
        }
    }
}
[/LEFT]
Ругается на открытие соединения в
C#
1
comboBox1_SelectedIndexChanged
, подскажите как быть, я в C# еще мал и глуп
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.05.2015, 12:21
Ответы с готовыми решениями:

Выборка из БД по изменению значения в combobox
Доброго времени суток. Только начинаю осваивать с#. Помогите пожалуйста разобраться. Есть база данных. Нужно осуществить выборку (из нее)...

Выборка из таблицы в зависимости от значения в ComboBox
Есть три RadioButton-а которые изменяют: автор книга студент несколько ComboBox-сов куда в зависимости от выбранного...

Выборка из Combobox, причем выборка должна быть частичной
Добрый день. Подскажите пожалуйста как реализовать такого рода задачу: Есть 4 Combobox, в каждом Combobox по 10-ть записей, при...

20
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
13.05.2015, 12:25
Цитата Сообщение от sima26ru Посмотреть сообщение
Ругается на открытие соединения
Если вы придете в больницу и скажете врачу: "Доктор, у меня болит", то как вы думаете, что он скажет в ответ?

Вы должны быть уже достаточно взрослы и умны для того, чтобы догадаться выложить хотя бы текст сообщения об ошибке.
0
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29
13.05.2015, 12:34  [ТС]
хах, смешно)))
Вот болячка:
Первый этап обработки исключения типа "System.InvalidOperationException" в System.Data.dll

Дополнительные сведения: Подключение не было закрыто. Подключение открыто.

Почему оно все еще открыто???
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
13.05.2015, 12:38
Цитата Сообщение от sima26ru Посмотреть сообщение
Почему оно все еще открыто?
Потому что в методе Party_Load вы делаете следующее:
C#
1
2
3
4
5
6
7
8
9
10
        private void Party_Load(object sender, EventArgs e)
        {
         
            con.Open();
            exp.Fill(dt);
            con.Close();
            
            SqlDataAdapter sdaa = new SqlDataAdapter("Select * from party where Exp='"+Convert.ToInt32(comboBox1.SelectedValue)+"'", con);
            sdaa.Fill(DATA);
        }
1. Открыли
2. Заполнили
3. Закрыли
4. Заполнили (открывается автоматически при вызове Fill)
5. ???

Вот подключение и остается открытым.
0
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29
13.05.2015, 13:06  [ТС]
Извиняюсь, у меня так вышло после длительных манипуляций с кодом, все перемешалось малеха(не ругайтесь), вот как оно выглядит на самом деле:


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void Party_Load(object sender, EventArgs e)
        {
         
            con.Open();
            SqlDataAdapter exp= new SqlDataAdapter("Select * from Expidition order by Name_Exp", con);
            DataTable dt = new DataTable();
            exp.Fill(dt);
            comboBox1.DataSource = dt;
            comboBox1.DisplayMember = "Name_Exp";
            comboBox1.ValueMember = "Id_EXp";
            comboBox1.SelectedIndex= 1;
            SqlDataAdapter sdaa = new SqlDataAdapter("Select * from party where Exp='"+Convert.ToInt32(comboBox1.SelectedValue)+"'", con);
            DataTable DATA = new DataTable();
            dataGridView1.DataSource = DATA;
            sdaa.Fill(DATA);
            con.Close();
           
            
 
        }
Добавлено через 3 минуты
Нашел на просторах интернета такой текст:
C#
1
2
3
4
5
6
7
8
9
10
11
private SqlConnection cn = new SqlConnection(Properties.Settings.Default.oborudConnectionString);
private DataSet myDS = new DataSet();
 
dAdapt = new SqlDataAdapter("select * from имя_таблицы", cn);
dAdapt.Fill(myDS, "имя_таблицы");
comboBox1.Items.Clear();
int i = 0;
for (i = 0; i < myDS.Tables["имя_таблицы "].Rows.Count; i++)
{
comboBox1.Items.Add(myDS.Tables["имя_таблицы"].Rows[i][1].ToString());
}
можно было бы и так написать, но есть вопрос как отсюда вытянуть первичный ключ моей таблицы, как я понимаю сюда записывается только одно значение таблицы

Добавлено через 21 минуту
проблема с соединением все еще не решена(((
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
13.05.2015, 13:16
я не парюсь и создаю соединение каждый раз, оборачивая его в using. ADO поддерживает пул соединений, по-этому "грязь на скорость не влияет"
0
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29
13.05.2015, 13:31  [ТС]
Можешь показать как?
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
13.05.2015, 13:45
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        public int? CheckUser(string connStr)
        {
 
            try
            {
                using (SqlConnection conn = new SqlConnection(connStr))
                {
                    conn.Open();
                    SqlCommand co = conn.CreateCommand();
                    co.CommandType = CommandType.StoredProcedure;
                    co.CommandText = @"dbo.CheckUser";
                    co.Parameters.AddWithValue(@"name", Environment.UserName);
                    return (int)co.ExecuteScalar();
                    
                }
            }
            catch (SqlException e)
            {
                MessageBox.Show("Ошибка БД!");
            }
            return -1;
        }
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
13.05.2015, 14:06
Цитата Сообщение от sima26ru Посмотреть сообщение
можно было бы и так написать, но есть вопрос как отсюда вытянуть первичный ключ моей таблицы
писал себе метод заполнения комбобокса, и успешно давно пользую его.
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
 public void LoadCombo(string sqlQueryString, ComboBox comboControl, string cbColName)
        {
            using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
            {
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                comboControl.DataSource = table;
                comboControl.DisplayMember = table.Columns[cbColName].ColumnName;
            }
        }
 
        public void LoadCombo(string sqlQueryString, ComboBox comboControl, string cbColName,string cbID)
        {
            using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
            {
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                comboControl.DataSource = table;
                comboControl.DisplayMember = table.Columns[cbColName].ColumnName;
                comboControl.ValueMember = table.Columns[cbID].ColumnName;
            }
        }
вам 2й наверно нужен, хотя на самом деле тут просто перегрузка.
это то что вернет вам данные в таблицу
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public DataTable getData(string sqlQueryString)
        {
            try
            {
                using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
                {
                    DataTable table = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    dataAdapter.Fill(table);
                    return table;
                }
            }
            catch
            {
                return null;
            }
 
        }
это вызов для комбобокса
C#
1
2
            string sqlStr = "select id, nameRaion from Forma18.dbo.sprRaion order by id";
            data.LoadCombo(sqlStr, _cmbRaion, "nameRaion", "id");
это вызов для грида
C#
1
2
3
            string sqlStr = "SELECT surname, name, lastName, dateN, dateK, dateV  FROM Forma18.dbo.Main  where idRaion = " + _cmbRaion.SelectedValue
                + " order by surname";
            _bsMain.DataSource = data.getData(sqlStr);
суть пьесы в том что у грида есть bindingSource (удобен если фильтрация нужна а она бывает часто нужна) в качестве dataSource
0
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29
13.05.2015, 15:16  [ТС]
Да, слабоват я в этом(((
Что такое Data? Откуда оно?
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
13.05.2015, 15:51
попробую по порядку
C#
1
2
3
4
5
6
7
8
9
10
11
12
public void LoadCombo(string sqlQueryString, ComboBox comboControl, string cbColName,string cbID)
        {
            using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
            {
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                comboControl.DataSource = table;
                comboControl.DisplayMember = table.Columns[cbColName].ColumnName;
                comboControl.ValueMember = table.Columns[cbID].ColumnName;
            }
        }
заполнит ваш комбобокс,
ComboBox comboControl - это сам комбобокс который передается в метод и который будет заполнен в последствии.
string cbColName это колонка отображаемая к примеру имена или пользователи или что угодно.
string cbID - это их соответствующии ID.
итак метод заполнит комбобокс именами и comboControl.ValueMember = table.Columns[cbID].ColumnName; соответственно их ID'шниками.
далее при выборе комбобокса надо отобразить в гриде соответствующие значения.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public DataTable getData(string sqlQueryString)
        {
            try
            {
                using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
                {
                    DataTable table = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    dataAdapter.Fill(table);
                    return table;
                }
            }
            catch
            {
                return null;
            }
 
        }
простой метод который возвращает DataTable (как мы знам его мы можем использываеть в качестве источника данных у грида или у bindingSource как я написал выше) если запрос выполнился правильно и в базе есть соответствующие данные. Либо вернет "пусто".
C#
1
2
string sqlStr = "select id, nameRaion from Forma18.dbo.sprRaion order by id";
            LoadCombo(sqlStr, _cmbRaion, "nameRaion", "id");
(data я убрал, на самом деле это просто название класса не суть важно). Итак я передаю в метод "строку запроса", сам комбобокс который хочу заполнить, колонку которую хочу видеть и колонку с ID.
ну и дальше в событии comboboxSelectedIndexChanged вызываем метод который будет показывать данные в гриде
C#
1
2
3
            string sqlStr = "SELECT surname, name, lastName, dateN, dateK, dateV  FROM Forma18.dbo.Main  where idRaion = " + _cmbRaion.SelectedValue
                + " order by surname";
            _bsMain.DataSource = getData(sqlStr);
Добавлено через 1 минуту
Цитата Сообщение от sima26ru Посмотреть сообщение
Что такое Data? Откуда оно?
эти методы у меня лжат в отдельном классе dataHelper и вначале класса формы я объявлял dataHelper data = new dataHelper();
вам не нужно это. я дал методы и показал как ими пользоваться.
1
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29
13.05.2015, 16:35  [ТС]
все разжевали, спасибо!!! буду разбираться. А что data класс я догадался, жаль еще не понимаю как ими пользоваться)))

Добавлено через 31 минуту
все заработало, спасибо. Поставил как обычно везде open иc close в соединениях опять выдало ошибку, везде удалил все заработало. Как то теперь не укладывается где происходит соединение
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
13.05.2015, 16:38
если использовать
C#
1
using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
то соединение закрывает автоматом, тем это и удобно.
0
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29
13.05.2015, 16:46  [ТС]
Вот это круто, переделал все в отдельный файл класса, у меня кода вышло раза в 4 меньше, щас буду остальные формы переделывать как в этой
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
13.05.2015, 17:02
так и старайтесь делать. описывайте методы в отдельном классе а в форме просто вызывайте их. иначе в коде формы будет помойка
0
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29
15.05.2015, 13:44  [ТС]
а можете показать как так же в классе описать способы вставки, удаления и обновления БД и вызов этих процедур?
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
15.05.2015, 13:58
Лучший ответ Сообщение было отмечено sima26ru как решение

Решение

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
class SqlClass
    {
        public string connStr = @"Password=15091985;Persist Security Info=True;User ID=sa;Initial Catalog=Tsg;Data Source=COKO2008DAO\COKO";
        
        public void createConnection()
        {
            SqlConnection sqlConn;
 
            sqlConn = new SqlConnection(connStr);
            sqlConn.Open();
        }
 
        public bool SetSql(string sqlQueryString)
        {
            try
            {
                using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
                {
                    DataTable table = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    dataAdapter.Fill(table);
                    return true;
                }
            }
            catch(Exception ex)
            {
                return false;
            }
        }
 
        public bool CheckConn()
        {
            try
            {
                SqlConnection connection = new SqlConnection(connStr);
                connection.Open();
                return true;
            }
            catch
            {
                return false;
            }
        }
 
        public void LoadCombo(string sqlQueryString, ComboBox comboControl, string cbColName)
        {
            using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
            {
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                comboControl.DataSource = table;
                comboControl.DisplayMember = table.Columns[cbColName].ColumnName;
            }
        }
 
        public void LoadCombo(string sqlQueryString, ComboBox comboControl, string cbColName, string cbID)
        {
            using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
            {
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                comboControl.DataSource = table;
                comboControl.DisplayMember = table.Columns[cbColName].ColumnName;
                comboControl.ValueMember = table.Columns[cbID].ColumnName;
            }
        }
 
        public DataTable getData(string sqlQueryString)
        {
            try
            {
                using (SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQueryString, connStr))
                {
                    DataTable table = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    dataAdapter.Fill(table);
                    return table;
                }
            }
            catch
            {
                return null;
            }
 
        }
connStr - временная строка подключения потом уйдет в ini.

в форме:
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
Classes.SqlClass dataClass = new Classes.SqlClass();
  private void _btnSave_Click(object sender, EventArgs e)
        {
            SprRekvizForm spr = (SprRekvizForm)Owner;
            if (!spr.isEdit)
            {
                string strSql = "insert into tsg.dbo.bankTable(nameBank, inn, kpp, rschet, stDel) VALUES('" +
                    _txtNameBank.Text + "','" + _txtInn.Text + "','" + _txtKpp.Text + "','" + _txtRschet.Text + "'," + 0 + ")";
 
                if (dataClass.SetSql(strSql))
                {
                    MessageBox.Show("Реквизиты успешно сохранены.", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    spr._bsBankRekviz.DataSource = dataClass.getData(Classes.SqlQueryClass.RekvizBankShowAll);
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Ошибка сохранения реквизитов.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
            else
            {
                string strSql = "update tsg.dbo.bankTable set nameBank = '" + _txtNameBank.Text + "', " +
                    "inn = '" + _txtInn.Text + "', kpp = '" + _txtKpp.Text + "', rschet = '" + _txtRschet.Text + "', stDel = 0 where id =" +
                    spr._dgvBankRekviz.Rows[spr._dgvBankRekviz.CurrentRow.Index].Cells["id"].Value.ToString();
 
 
                if (dataClass.SetSql(strSql))
                {
                    MessageBox.Show("Реквизиты успешно обновлены.", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    spr._bsBankRekviz.DataSource = dataClass.getData(Classes.SqlQueryClass.RekvizBankShowAll);
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Ошибка обновления реквизитов.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
                        
        }
C#
1
2
3
4
        private void SprRekvizForm_Load(object sender, EventArgs e)
        {
            _bsBankRekviz.DataSource = dataClass.getData(Classes.SqlQueryClass.RekvizBankShowAll);
        }
это просто пример, вообще параметризованные запросы будут надежнее но мне надо именно через обычные запросы.
1
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29
15.05.2015, 21:54  [ТС]
А мне с запросами легче, а как надо никто не говорил, главное сделать )))) спасибо, буду разбираться
0
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 29
27.05.2015, 16:10  [ТС]
Еще вопрос, как с помощью этого примера выполнить запрос Select count (*), как мне вытянуть число строк?
C#
1
string sqlStr3 = "Select count (*)  from worker where Passport='"+textBox8.Text+"' ";
а дальше что делать даже не представляю
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
28.05.2015, 08:29
ExecuteScalar спасет отца русской демократии
а это
Цитата Сообщение от sima26ru Посмотреть сообщение
string sqlStr3 = "Select count (*) from worker where Passport='"+textBox8.Text+"' ";
образец быдлокода тот еще -
1 - параметры нужно пользовать.
2 - не хотим 1 - тогда StringBuilder для строк как минимум
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.05.2015, 08:29
Помогаю со студенческими работами здесь

Ограниченный доступ к изменению значения полей класса
Приветствую, ценителей красоты кода. Вот код: 2 класса «A» и «AUnit», один из которых содержит список экземпляров другого. В AUnit...

Как привязать автообновление сабформы по изменению значения в текстбоксе?
Добрый день! Это мой первый вопрос: У меня есть запрос для сабформы(frmSubForm): SELECT t.Name FROM t WHERE t.ID = !. Будьте...

ComboBox, значения в котором зависят от выбранного пункта другого ComboBox-а
Как можно сделать так чтобы при выборе определенного значения ComboBox1 в ComboBox2 был свой набор (Items). Например: В ComboBox1 выбрал...

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

Как сделать чтобы при выборе в combobox , менялись значения в других combobox?
Есть два combobox. Как их сделать зависимыми друг от друга. Что бы при выборе одного combobox менялись данные в другом. К примеру: В...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru