datagridview 多行选择的代码实现 替换ctrl+鼠标左键
行绑定一个checkbox 最后提交的时候遍历他们是否为true
单击双击事件都要运行遍历和设置背景色,否则双击偶尔会失灵
private void dgv_ticket_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (e.RowIndex == -1) { return; } dgv_ticket.CurrentRow.Selected = false; dgv_ticket.CurrentRow.Cells["ck"].Value = !Convert.ToBoolean(dgv_ticket.CurrentRow.Cells["ck"].Value); for (int i = 0; i < dgv_ticket.RowCount; i++) { if (Convert.ToBoolean(dgv_ticket.Rows[i].Cells["ck"].Value)) { dgv_ticket.Rows[i].DefaultCellStyle.BackColor = SystemColors.Highlight; dgv_ticket.Rows[i].DefaultCellStyle.ForeColor = SystemColors.Window; } else { dgv_ticket.Rows[i].DefaultCellStyle.ForeColor = SystemColors.ControlText; dgv_ticket.Rows[i].DefaultCellStyle.BackColor = SystemColors.Window; } } }
缺点是效率不高!!