Как удалить строки в представлении сетки данных где установлен флажок?

Я использую C # .NET 2.0 Visual Studio 2005.

Я столкнулся со странной проблемой.

Существует простая оконная форма с одним DataGridView с флажком column1 (DataGridViewCheckboxColumn) .

] Затем, если флажок в ячейке установлен, я хочу удалить отмеченную строку.

Звучит очень просто, но каким-то образом не удаляются все отмеченные строки, и я не могу понять, почему она ведет себя в таким образом.

Например, у меня 5 строк, и я поставил все флажки в каждой строке, но удаляются только 3 строки. Кто-нибудь видел это раньше? Это ошибка или я что-то делаю не так?

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //when I click the button, all checked row should be removed
        private void button1_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                if ((bool)row.Cells[0].Value)
                {
                    dataGridView1.Rows.Remove(row);
                }
            }
        }
    }
}
8
задан leppie 22 May 2014 в 06:50
поделиться