Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Как сохранить в dataset id выбранных пунктов из combobox.datagridview???  [new]
xamelione25
Member

Откуда: Белгород
Сообщений: 83
Проблема в том что выбирая второй пункт (строку), у меня передается null (см скрин).
Как этого избежать? При выборе первого у меня id отображается - с его выбором все нормально.

Мне нужно чтобы выбирая пункты или изменяя уже выбранные в combobo-ах у меня происходило автообновление/автосохранение, и потом из сохранившихся id-ишников в dataset я смог изъять их количество, и сами выбранные id???

+
public int PreviousPage { get; set; }
        MySqlDataAdapter adapter;
        readonly string connectionString = "server=localhost;user=root;database=a_stroy;password=q1w2e3r4t5y6u7i8o9p0;";
        public DataTable Execute(string script)
        {
            using (MySqlConnection connection = new MySqlConnection(connectionString))
            {
                DataTable table = new DataTable();
                connection.Open();
                adapter = new MySqlDataAdapter(script, connection);
                adapter.Fill(table);
                return table;
            }
        }

        private void СomboBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();
            if (comboBox1.SelectedValue != null)
            {
                column1.DataSource = Execute($"SELECT id_Object, id_customer, Name_object FROM a_stroy.object where id_customer = {comboBox1.SelectedValue};");
                column1.DisplayMember = "Name_object";
                column1.ValueMember = "id_Object";
            }
        }

        private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            ComboBox cbDgv = e.Control as ComboBox;
            cbDgv.SelectedValueChanged -= new EventHandler(CbDgv_SelectedValueChanged);
            cbDgv.SelectedValueChanged += new EventHandler(CbDgv_SelectedValueChanged);
        }

        private void CbDgv_SelectedValueChanged(object sender, EventArgs e)
        {
            dataGridView1.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dataGridView1_EditingControlShowing);
            ComboBox box = sender as ComboBox;
            var comboBox = (DataGridViewComboBoxEditingControl)sender;
            int rowIndex = (int)box.SelectedValue;
            var query = $"SELECT id_Object, Name_works FROM a_stroy.words_object where id_Object = {rowIndex}";
            column2.DataSource = Execute(query);
            column2.DisplayMember = "Name_works";
            column2.ValueMember = "id_Object";
            Debug.WriteLine(query);


К сообщению приложен файл. Размер - 144Kb
6 май 21, 21:11    [22319358]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить