السلام عليكم..
قمت بعمل DATA GRID في
VISUAL STDIO.NET 2003
و قد استخدمت خاصية paging
كل شي يسير على ما يرام باستثناء انني عندما أقوم بحذف آخر صف فيها تتم عملية الحذف بنجاح و لكن رسالة خطأ تظهر للمستخدم فكيف لي ان أتخلص منها؟ظ
السلام عليكم..
قمت بعمل DATA GRID في
VISUAL STDIO.NET 2003
و قد استخدمت خاصية paging
كل شي يسير على ما يرام باستثناء انني عندما أقوم بحذف آخر صف فيها تتم عملية الحذف بنجاح و لكن رسالة خطأ تظهر للمستخدم فكيف لي ان أتخلص منها؟ظ
ألا تعتقد أنه من الأفضل أن تخربنا بمحتوى رسالة الخطأ هذه أولاً؟ :)
أعتذر لتأخري..
ساعود لتوضيح المشكلة
لقد استخدمت
data grid
في vs 2003
و قد فعلت فيها خاصية الصفحات..
المشكلة تحدث عند يظهر لدي أكثر من صفحة..
فإذا كانت لدي أكثر من صفحة و قمت بحذف كافة الصفوف فإنها تحذف بشكل طبيعي حتى يتبقى صف واحد فقط..
و عندما أقوم بحذف هذا الصف فإنه يحذف و لكن رسالة خطأ تظهر للمستخدم و هي:
invalid current page index value
it must be>=o and <pagecount
أخي الحل سهل وان شاء الله يكون هذا هو الجواب
Try
DG.DataBind()
Catch ex As Exception
DG.CurrentPageIndex = 0
DG.DataBind()
End Tryيعني بعد عملية الحذف اذا كان السطر المحذوف هو الأخير في الصفحة الأخير
سيحدث خطأ وبالتالي سينقلك مباشرة الى اول صفحة في datagrid
شكراً أخي..
طبقت الكود و الذي الحدث أنني إذا حذفت أخر سطر من الصفحة الثالثة فإني ساذهب للأولى فكيف أجعله يذهب للثانية.. أي لاخر صفحة بعد الحذف..؟
يوضع هذا الكود في سطر الحذف قبل عملية اعادة الرسم أو
DataBind
if(DG.Items.Count==1 && DG.CurrentPageIndex!=0)
DG.CurrentPageIndex--;
جربي الكود التالي
ولكن بصراحة انا لم أجربه
Try
DGW.DataBind()
Catch ex As Exception
DGW.CurrentPageIndex = DGW.CurrentPageIndex - 1
DGW.DataBind()
End Tryهل قمت بانشاء حدث PageIndexChanging تقريبا اسمه كده
طبعا الخاص بال datagrid
و تكتب في بدايه الحدث datagrid.pageindex = e.newindex تقريبا شكلها كده
و تقوم بكتابة الكود المسئول عن عمل data binding لل datagrid
يعني مليء ال datagrid بالبيانات من جديد و تغير رقم الصفحه
هذا الموضوع مغلق.