resident
جمعه 05 بهمن 1386, 19:29 عصر
سلام.
من یه دیتاگریدویو دارم .اگه کاربر بخواد یک رکورد رو حذف کنه ، بعد از انتخاب رکورد موردنظر دکمه حذف رو بزنه رکورد حذف میشه.
حالا مشکل اینجاست که اگه بخوام 2 ردیف پشت سر هم رو حذف کنم استثنا
(deleted row information can not accessed through the row) رخ میده. اما برای ردیف هایی که پشت سرهم نیستند مشکلی نداره ،حذف می کنه.
مشکل کار کجاست؟
private void delete_Click(object sender, EventArgs e)
{
if (MessageBox.Show("آیا برای حذف این طرح مطمئن هستید؟","حذف طرح",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning ,MessageBoxDefaultButton.Button1,MessageBoxOptions .RtlReading)==DialogResult.OK);
{
int rowindex = dgv1.CurrentCell.RowIndex;
DataRow dr = dt.Rows[rowindex];
string pk = (string)dr["code_pishnahade_tarh"];
cmd.CommandText = string.Format("delete from pishnahade_tarh where code_pishnahade_tarh='{0}'", pk);
cmd.Connection = cn;
cn.Open();
int numdeleted = cmd.ExecuteNonQuery();
cn.Close();
if (numdeleted != 0)
{
dgv1.Rows.RemoveAt(rowindex);
MessageBox.Show("طرح مورد نظر حذف شد");
}
}
}
من یه دیتاگریدویو دارم .اگه کاربر بخواد یک رکورد رو حذف کنه ، بعد از انتخاب رکورد موردنظر دکمه حذف رو بزنه رکورد حذف میشه.
حالا مشکل اینجاست که اگه بخوام 2 ردیف پشت سر هم رو حذف کنم استثنا
(deleted row information can not accessed through the row) رخ میده. اما برای ردیف هایی که پشت سرهم نیستند مشکلی نداره ،حذف می کنه.
مشکل کار کجاست؟
private void delete_Click(object sender, EventArgs e)
{
if (MessageBox.Show("آیا برای حذف این طرح مطمئن هستید؟","حذف طرح",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning ,MessageBoxDefaultButton.Button1,MessageBoxOptions .RtlReading)==DialogResult.OK);
{
int rowindex = dgv1.CurrentCell.RowIndex;
DataRow dr = dt.Rows[rowindex];
string pk = (string)dr["code_pishnahade_tarh"];
cmd.CommandText = string.Format("delete from pishnahade_tarh where code_pishnahade_tarh='{0}'", pk);
cmd.Connection = cn;
cn.Open();
int numdeleted = cmd.ExecuteNonQuery();
cn.Close();
if (numdeleted != 0)
{
dgv1.Rows.RemoveAt(rowindex);
MessageBox.Show("طرح مورد نظر حذف شد");
}
}
}