Динамическое добавление флажка в 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;
}
}