2

ユーザーが選択した行から datagridview をクリアしたい。私はそれを実装するためにいくつかの方法を試していますが、それらはすべていくつかのエラーを生成します。今では次のようなものがあります:

foreach(DataGridViewRow row in this.dataGridView1.Rows)
{
    if(row.Index >= odelementu - 1)
      dataGridView1.Rows.RemoveAt(row.Index);
}

ユーザーは、データグリッドビューをクリアする必要がある行を選択してから、ボタンをクリックする必要があります

odelementu //this variable represents the starting row

ループで行が欠落する理由がわかりません。アドバイスをいただければ幸いです

4

2 に答える 2

0
public void RemoveRows()
{
  var selectedrows = datagridview.SelectedRows.Cast<DataGridViewRow>();
  if (selectedrows.Count() == 0)
      return;
  var fromIndex = selectedrows.Last().Index;
  datagridview.Rows.Cast<DataGridViewRow>()
      .Where(p=>p.Index > fromIndex)
      .ToList()
      .ForEach(p=>datagridview.Rows.Remove(p));

}
于 2013-09-24T19:45:52.940 に答える