PDA

View Full Version : سوال: حذف رکورد های تیک خورده در Gridview از پایگاه داده



arash69
پنج شنبه 07 فروردین 1393, 19:00 عصر
سلام به همه دوستان.
در رابطه با حذف رکورد مورد نظر در Gridview، از بانک اطلاعاتی سوالی داشتم.
روشی که میخوام استفاده کنم به این صورت هست که:
هریک از رکوردهایی که checkbox در نظرگرفته شده برای آن تیک خورده باشد، با زدن یک button خارج از Gridview، از بانک حذف شوند.
چطوری این کار رو انجام بدم؟ وقتی که button زده میشه، چیکار کنه؟

ممنون.

aminireza65
پنج شنبه 07 فروردین 1393, 19:08 عصر
در مورد check box که باید از item template استفاده کنید.
در مورد نحوه حذف کردن هم باید در رویداد کلیک دکمه یه حلقه for ایجاد کنید که از صفر تا grid.rows.count-1 بشماره و هر سطری رو که تیکش خورده بود با دستور sql حذف کنه.

arash69
پنج شنبه 07 فروردین 1393, 20:16 عصر
در مورد check box که باید از item template استفاده کنید.
در مورد نحوه حذف کردن هم باید در رویداد کلیک دکمه یه حلقه for ایجاد کنید که از صفر تا grid.rows.count-1 بشماره و هر سطری رو که تیکش خورده بود با دستور sql حذف کنه.

ممنون از پاسختون.
اما سوال دیگری هم داشتم؛
روشی که من دارم استفاده میکنم، منظورم همین راه حذف کردن از بانک؛ آیا سربار زیادی برای سایت ایجاد میکنه؟
روش بهتر چیست، تا سربار کمتری ایجاد نماید؟

arash69
شنبه 09 فروردین 1393, 01:09 صبح
از دوستان، اگر در اینباره اطلاعاتی دارید، ممنون میشم راهنمایی کنید.

ali.n93
شنبه 09 فروردین 1393, 14:19 عصر
توی این روشی که دوستمون گفتند میتونید از for استفاده کنید اما عملیات حذف رو یه بار انجام بدید. احتمالا در هر سطر یک ID که همون کلید اصلی هم هست باید داشته باشید. شما میتونید توی این for کلید اصلی یا همون ID رکوردهایی که تیک خوردن رو پشت سر هم توی یک متغیر string ذخیره کنید و البته بین هر ID یک کاما , قرار بدید. در نهایت متغیر string شما مقداری مانند رشته پایین پیدا میکنه:
156,12,134,189,546
حالا کافیه عملگر in در کدنویسی sql رو استفاده کنید:

delete table1 where ID in(156,12,134,189,546)

zarnoosheh
سه شنبه 30 اردیبهشت 1393, 23:24 عصر
foreach (GridViewRow _Row in grdArticles.Rows)
{
CheckBox chkGroup = (CheckBox)_Row.FindControl("chkGroup");
if (chkGroup.Checked)
{
int _ID = int.Parse(grdArticles.DataKeys[_Row.RowIndex].Value.ToString());
_Articles.Delete(_ID);
}
}



http://smileweb.ir

alireza.zahani
چهارشنبه 31 اردیبهشت 1393, 08:54 صبح
میتونی توی خاصیت itemcommand مقدار id های سطراتو بگیری بریزی تو viewstate
بعد تو دکمه query بزن با توجه به id های داخل view state fun هرچی داری رو پاک کن یا ویرایش