PDA

View Full Version : delete a row in gridview ?



javad3151
یک شنبه 01 بهمن 1385, 19:22 عصر
سلام
یک Gridview دارم که کاربر میتونه با استفاده از کلید Delete رکوردها را حذف کنه ، من میخوام هنگام حذف رکورد یه public sub را هم اجرا کنم ، برای اینکار از GridView1_RowDeleted استفاده کردم
مشکل اینجا است که موقعی که کاربر یک رکورد را حذف میکنه دوبار GridView1_RowDeleted اجرا میشه ؟!:متفکر: چرا؟

Arvin Soft
یک شنبه 01 بهمن 1385, 20:54 عصر
دوست عزیز درسته که رویداد RowDeleted وقتی رخ میده که دکمه Delete کلیک بشه، اما بعد از اینکه کنترل GridView سطر موردنظر رو حذف می کنه اتفاق می افته! بنابراین برای وقتی به درد می خوره که بخواهید متودی برای کنترل رویداد داشته باشید که یک روتین خاص رو اجرا کنه، مثلا بررسی نتیجه عملیات حذف بازای هر بار که اتفاق می افته. یا اینکه مثلا به کاربر اعلام کنید که رکورد موردنظرش با موفقیت حذف شده یا خطایی رخ داده و نشده حذف بشه:


Sub CustomersGridView_RowDeleted(sender As Object, e As GridViewDeletedEventArgs)

' Display whether the delete operation succeeded.
If e.Exception Is Nothing Then

Message.Text = "Row deleted successfully."

Else

Message.Text = "An error occurred while attempting to delete the row."
e.ExceptionHandled = True

End If

End Subدرواقع RowDeleted پس از واقعه است و فکر می کنم شما باید از RowDeleting استفاده کنید. این رویداد هم وقتی رخ میده که دکمه Delete کلیک بشه، اما قبل از اینکه کنترل GridView سطر رو حذف کنه. بنابراین برای وقتی خوبه که بخواهیم متودی برای کنترل رویداد داشته باشیم که هر بار روتین خاصی رو اجرا کنه، مثلا متوقف کردن عملیات حذف.
به نظرم استفاده از RowDeleted باعث شده که بعد از حذف دوباره این رویداد خودش رو صدا بزنه. شما بجای اون از RowDeleteing استفاده کنید، امیدوارم که به این ترتیب مشکلتون حل بشه.:لبخندساده: