在Gridview中添加和删除1个按钮

时间:2014-06-14 08:23:41

标签: c#

我有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);
                    }

                }
}

1 个答案:

答案 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);
}