Пометка признака выбора строки DataGridView в источнике данных - Visual Basic .NET
Формулировка задачи:
Имеется DataTable - DT с колонками SEL и ULCODE.
Имеется Форма FRM с DataGridView - DGV_LPU с колонкой ULCODE.
Далее указано:
Необходимо в таблице DT заполнить поле SEL значением "S", если соответствующая строка ВЫБРАНА в DataGridView и "" в противном случае.
Просьба подсказать решение проблемы
Листинг программы
- FRM.DGV_LPU.DataSource = DT
Проблема решена, хотя связь DataGridView с источником данных (DataTable) в DOTNET оставляет желать лучшего.
Решение задачи: «Пометка признака выбора строки DataGridView в источнике данных»
textual
Листинг программы
- DataTable dt = dataGridView1.DataSource as DataTable;
- //Или берем ту DataTable, которую сами указали
- DataGridViewRow row = dataGridView1.SelectedRows[0];
- //Это в случае, если стоит свойство MultiSelect = false.
- //В противном случае все это нужно делать для каждой строки в выборке строк
- //Формируем запрос
- string query = "id = " + row.Cells["id"].Value.ToString();
- //Делаем выборку из DataTable,
- //для этого берем 0-ю строку, т.к. id уникальное значение и строка будет единственная
- DataRow dRow = dt.Select(query)[0];
- //Получаем id в DataTable той строки, которая выбрана в DataGridView
- int id = Convert.ToInt32(dRow["id"]);
- //Ну а так вариант "все в одной куче"
- int id_ = Convert.ToInt32((dataGridView1.DataSource as DataTable).Select("id = " +
- dataGridView1.SelectedRows[0].Cells["id"].Value.ToString())[0]["id"]);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д