powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как определить количество выбранных combobox-ов в datagridview
15 сообщений из 15, страница 1 из 1
Как определить количество выбранных combobox-ов в datagridview
    #40064308
xamelione25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите (покажите в коде) как определить количество выбранных пунктов в combobox-ов в 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.
        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 List<int> SelectedIDs = new List<int>();
        private void CbDgv_SelectedValueChanged(object sender, EventArgs e)
        {
            dataGridView1.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(this.dataGridView1_EditingControlShowing);
            ComboBox box = sender as ComboBox;
            Debug.WriteLine(box.SelectedValue);
            object value = box.SelectedValue;
            var comboBox = (DataGridViewComboBoxEditingControl)sender;
            int rowIndex = comboBox.EditingControlRowIndex;
            var query = $"SELECT id_Object, Name_works FROM a_stroy.words_object where id_Object = {rowIndex}"; // получение данных из combobox 
            column2.DataSource = Execute(query);
            column2.DisplayMember = "Name_works";
            column2.ValueMember = "id_Object";
            //if (box.SelectedValue == null)
            //{
            //    Debug.WriteLine("Ошибка!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            //}
            //else
            //{

            //}
        }
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40064586
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40064588
xamelione25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2, Да я это видел, я пытался и с этим SelectedRow что-то наварганить, но у меня ничего не получилось.

У меня сейчас основная проблема в том, что в выше выложенном коде мне не получается сделать вывод количества выбранных combobox-ов. Просто мне нужно на основе количества выбранных combobox-ов задать количество строк в других datagridview.

И еще у меня странность происходит с тем, что у меня при выборе (начиная со второго) combobox-а появляются пробелы, которых не должно быть! То есть у меня по каким-то причинам получается
Код: c#
1.
box.SelectedValue == null



в дезингере дополнительно у меня прописано
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
            // 
            // dataGridView1
            // 
            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            this.dataGridView1.Location = new System.Drawing.Point(335, 410);
            this.dataGridView1.Name = "dataGridView1";
            this.dataGridView1.RowHeadersVisible = false;
            this.dataGridView1.RowHeadersWidth = 82;
            this.dataGridView1.Size = new System.Drawing.Size(335, 181);
            this.dataGridView1.TabIndex = 15;
            this.dataGridView1.EditingControlShowing += new System.Windows.Forms.DataGridViewEditingControlShowingEventHandler(this.dataGridView1_EditingControlShowing);
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065582
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
xamelione25,

Наконец понял, что Вы хотите :)

Вот так можно получить id выбранных пунктов

Код: c#
1.
var idlist = dataGridView1.Rows.Cast<DataGridViewRow>().Select(r => r.Cells[0].Value).Distinct();



Так - выбранные значения в текстовом виде

Код: c#
1.
var namelist = dataGridView1.Rows.Cast<DataGridViewRow>().Select(r => r.Cells[0].FormattedValue).Distinct();
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065592
xamelione25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2, спасибо )))
Но все-равно у меня какая-та каша получается (см.скрин).
Я вообще ожидал что должно появляться что-то вроде такого:
К примеру:

При выборе первого объекта с id - 5:
5
1

При выборе одного объекта с id - 6:
5 6
2

При выборе третьего объекта с id - 7:
5 6 7
3

итд ...

Касаемо id-ишников: мне главное чтобы я смог данные о выбранных объектах сохранить в БД (то есть мне нужно завернуть это в параметр на который я смогу потом сослаться) для того чтобы я при редактировании/повторном открытии, смог задать системе какие пункты нужно отобразить - то есть сослаться на некоторый параметр.

Касаемо количества нужно чтобы я потом смог на основе этого значения, сославшись на него, задать количество строк в других datagridview. А оно у меня сейчас вообще по-моему на 1 меньше отображается чем на самом деле выбрано объектов.

Причем мне не понятно то что (я выделил на скрине): у меня при выборе объекта в combobox-e ... из-за того что, чтобы открыть его мне нужно сделать несколько щелчков - видимо из-за этого у меня куча лишних (непонятных зачем) значений вылетает.

Ну и последнее это то что мне пока не понятно как сделать чтобы у меня отфильтровывались уже выбранные объекты, для того чтобы я их повторно не мог выбрать.
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065597
xamelione25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2,

и не пойму ....

у меня что-то не то вылазит
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065598
xamelione25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2,
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065615
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
xamelione25
Cat2,



Для такого вывода надо преобразовать коллекцию в массив или список.

Код: c#
1.
var namelist = dataGridView1.Rows.Cast<DataGridViewRow>().Select(r => r.Cells[0].FormattedValue).Distinct().ToList<string>();



Хотя для целей отладки вполне достаточно было глянуть на содержание в точке останова.
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065616
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xamelione25
Код: c#
1.
2.
cbDgv.SelectedValueChanged -= new EventHandler(CbDgv_SelectedValueChanged);
cbDgv.SelectedValueChanged += new EventHandler(CbDgv_SelectedValueChanged);


Можно поинтересоваться - что это за жесть?
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065620
xamelione25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2,
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065621
xamelione25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fkthat,

Если честно, правильно и точно затрудняюсь ответить ...

но насколько я помню, это для событие для очистки чего-то ненужного (временного) ... возможно ошибаюсь.
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065807
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
xamelione25
Cat2,



<string> лишнее затесалось
Код: c#
1.
var namelist = dataGridView1.Rows.Cast<DataGridViewRow>().Select(r => r.Cells[0].FormattedValue).Distinct().ToList();
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065818
xamelione25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2,

ну я в 5 посте написал ...

-----------------

у меня увы фактически все обозначенное тоже самое осталось(((
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065852
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xamelione25,

Шрифты - огонь
...
Рейтинг: 0 / 0
Как определить количество выбранных combobox-ов в datagridview
    #40065859
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Шрифты - огонь
главное, сразу многое говорит о стаже ТС ))
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как определить количество выбранных combobox-ов в datagridview
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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