0
我需要使用checkbox_checkChanged事件同时在我的C#应用程序的datagridview中勾选多个复选框,当他们使用鼠标先高亮显示他们需要的细胞。 因此,基本上最终用户将使用鼠标突出显示datagridview中的单元格,然后单击复选框2,然后在复选框中勾选它们突出显示单元格的每一行中的复选框。如何使用C#在datagridview中检查多个复选框
这是我的代码,它显示一个窗口,指出已选择多少行/单元格。然后我需要在datagridview中的每个复选框中打勾,在该行中具有突出显示的单元格。目前它将显示窗口记录哪些行/单元格已被选中,然后当单击确定按钮时,它将勾选datagridview中的每个复选框,而不是仅在该行中具有突出显示的单元格的复选框。
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
Int32 selectedCellCount = dgv2.GetCellCount(DataGridViewElementStates.Selected);
if (selectedCellCount > 0)
{
if (dgv2.AreAllCellsSelected(true))
{
MessageBox.Show("All cells are selected", "Selected Cells");
}
else
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = 0;
i < selectedCellCount; i++)
{
sb.Append("Row: ");
sb.Append(dgv2.SelectedCells[i].RowIndex.ToString());
sb.Append(", Column: ");
sb.Append(dgv2.SelectedCells[i].ColumnIndex.ToString());
sb.Append(Environment.NewLine);
}
sb.Append("Total: " + selectedCellCount.ToString());
// confirmation
MessageBox.Show(sb.ToString(), "Selected Cells");
foreach (DataGridViewRow row in dgv2.Rows)
{
row.Cells[2].Value = checkBox2.Checked && String.IsNullOrEmpty(row.Cells[0].ErrorText);
}
}
}
}
请帮助...
谢谢你杰里米,这完美的作品。 – saas 2012-03-28 06:03:44