Динамическое добавление флажка в datagridview и выбор полных строк путем установки флажка и получения всех выбранных строк из нажатия кнопки
Здравствуйте, я добавил флажок динамически, и я могу выбрать полные строки, установив флажок, но я не мог отменить выбор строк, сняв флажок в DataGridView.
И еще, у меня есть кнопка, где я хочу показать сообщение только выбранным флажком.
Мой код для динамического добавления флажка в DataGridView:
DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn(); this.dtgrid_event_list.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; checkColumn.Name = "Check"; checkColumn.HeaderText = "Check"; checkColumn.Width = 50; checkColumn.FillWeight = 50; this.dtgrid_event_list.Columns.Add(checkColumn); this.dtgrid_event_list.AllowUserToAddRows = false; this.dtgrid_event_list.AllowUserToDeleteRows = false; this.dtgrid_event_list.DataSource = db.Adapter("select device, event_name, frame, frame_rate, event_duration from alb_events");
Мой Код Строки Выбора:
private void dtgrid_event_list_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0 && e.RowIndex != -1) { string point = ""; Color oldColor = this.dtgrid_event_list.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor; this.dtgrid_event_list.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor = Color.FromArgb(oldColor.R < 235 ? oldColor.R + 20 : 0, oldColor.G, oldColor.B); foreach (DataGridViewRow drv in this.dtgrid_event_list.Rows) { DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)drv.Cells[0]; foreach (DataGridViewCell cell in drv.Cells) { if (drv.Index == e.RowIndex) { if (chk.Value == chk.TrueValue) { cell.Style.BackColor = Color.BlueViolet; } if (cell.ColumnIndex == 4) { if(cell.Value.ToString().Length > 2) point = cell.Value.ToString().Substring(2, 1).ToString(); } if (point == ".") cell.Style.BackColor = Color.Red; } } } } }
Теперь, пожалуйста, помогите мне снять флажок row by unchecked Checkbox и показать только выбранные строки, нажав кнопку in.
Что я уже пробовал:
частная btnAddEvent_Click недействительным(объект отправителя, EventArgs в электронной)
{
int count = 1;
по каждому элементу (ячейки datagridviewrow ДРВ в этом.dtgrid_event_list.Строк)
{
DataGridViewCheckBoxCell chkchecking = новый DataGridViewCheckBoxCell();
chkchecking= (DataGridViewCheckBoxCell)drv. Cells[0];
Ящик для сообщений.Шоу (chkchecking.Ценность.Метод toString());
if ((bool) chkchecking.Значение = = true)
{
Ящик для сообщений.Показать (граф.Метод toString());
}
count = count + 1;
}
}