我有Gridview
,其中一列是GridViewCheckboxColumn
。如果选中此列,则将删除整行。所以要添加和删除行,我只使用一个按钮就是代码。
问题是它只是将数据添加到gridview并且从不删除所选行?
private void Bu_Submite_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count == 0)
{
String Date = monthCalendarX1.GetSelectedDateInPersianDateTime().ToShortDateString();
dataGridView1.Rows.Add(Date);
}
else
{
foreach (DataGridViewCell oneCell in dataGridView1.SelectedCells)
{
if (oneCell.Selected)
dataGridView1.Rows.RemoveAt(oneCell.RowIndex);
}
}
}
答案 0 :(得分:0)
托盘选择行的外部(指向右侧的小三角箭头),然后单击Bu_Submite。它应该工作,代码适合我。
如果未选择任何内容并添加新的行租用,则输入条件的第一部分:
if (dataGridView1.SelectedRows.Count == 0)
{
String Date = monthCalendarX1.GetSelectedDateInPersianDateTime().ToShortDateString();
dataGridView1.Rows.Add(Date);
}
如果选择行的外部部分(应选择整行,所有列应为蓝色),则应触发else子句:
else
{
foreach (DataGridViewCell oneCell in dataGridView1.SelectedCells)
{
if (oneCell.Selected)
dataGridView1.Rows.RemoveAt(oneCell.RowIndex);
}
}
如果要根据一个选定的单元格而不是if (dataGridView1.SelectedRows.Count == 0)
添加删除,还需要添加其他条件:
if (!oneCell.Selected)
{
String Date = monthCalendarX1.GetSelectedDateInPersianDateTime().ToShortDateString();
dataGridView1.Rows.Add(Date);
}