DataGridViewから複数の選択された行を削除しようとしています。以下のコードを試してみると、選択された行のうちのほんの一部が削除されます。たとえば、7つの行があり、5つの連続する行を選択してdeleteを押すと、3つだけが削除されます。DataGridViewで複数の行を削除する方法
IEnumerable<DataGridViewRow> dgvrs = from dgvrws in dgvChemicalInv.Rows.Cast<DataGridViewRow>()
where dgvrws.Selected.Equals(true)
select dgvrws;
foreach (DataGridViewRow dgr in dgvrs)
{
dctchemri = dgr.Cells["DCT_CHEMRI"].Value.ToString();
index = dgvChemicalInv.CurrentRow.Index;
var chemObj = (from chmObj in DCTProjectNodeObj.Chemicals
where chmObj.DCTChemRI.Equals(dctchemri)
select chmObj).Single();
if (sqlCmd.Delete_Chems(this.projID, (csDCTChemicalObj)chemObj))
{
dgvChemicalInv.Rows.Remove(dgr);
}
if (dgvChemicalInv.RowCount > 0)
{
DCTProjectNodeObj.Chemicals.Remove((csDCTChemicalObj)chemObj);
}
else
{
DCTProjectNodeObj.Chemicals = new List<csDCTChemicalObj>();
DO_BtnSaveClickEvent();
}
}
はありがとう、
ビル・O.
私はこの可能性を検討していますが、SqlCEデータベースでは動作しません。 –
あなたがSqlCEを使っていたことを知りませんでした。それほど多くの経験はありませんが、SqlCEでは正確には動作しません。 – krs1
dataContextクラスの接続と設定。私はこのブログ[リンク](http://blogs.msdn.com/b/charlie/archive/2007/12/10/understanding-the-datacontext.aspx)に従っていた –