الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة فى Paging داخل Gridview

بدأه *Nermeen* في 7 أبريل 2008 · 2 رد · 902 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاتة

ارجو منكوا مساعدتى فلدى مشكلة ملحة ويجب حلها فى يومين بالكتير

انا استخدم asp.net2005 وعملت شاشة وبداخلها GridView وعملت فيها paging

كل صفحة تحتوى على 6 row

ويوجد عندى اماكنية الحذف عن طريق checkboxes بجانب كل row

ويوجد ايضا textbox يمكن اضافة بداخلة بيانات وعند الحفظ بعمل loop على ال gridview كلها واحفظ البيانات داخل قاعدة البيانات

وكل دة كان شغال كويس

المشكلة انى لما عملت الpaging ظهرت مشكلتين

اولا: عند الحذف لما اعلم على كذا checkbox فى اول صفحة وانتقل الى صفحة اخرى لاختيار بيانات اخرى واعلم عليها , عند الرجوع للصفحة الاولى الاقى ان ال Checkboxes كلها unchecked مش متعلم عليها وهكذا لو روحت للصفحة التانية

ثانيا: نفس المشكلة عند ادخال بيانات داخل textbox فى اول صفحة والانتقال الى صفحة اخرى ثم الرجوع الى اول صفحة لا اجد اى بيانات تم ادخالها

ارجو مساعدتى لانى بحاجة الى حل هذة المشكلة فى اقرب وقت ممكن

#2

ريح نفسك وضع الكود او ارفق الملف وهو الأفضل حتى ندرك مشكلتك بالضبط

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#3

اخى الكريم لقد قمت بالبحث عن المشكلة ووجدت حل لها ولكنة يعطى مشكلة

سابعث لك المشكلة والحل والمشكلة التى واجهتنى فى الحل وارجو المساعدة

private void MaintainState()

{

//state maintaining

foreach (DataGridItem di in EmpGV.Rows)

{

CheckBox chkBx = (CheckBox)di.FindControl("ChkDel");

//if check box is checked add it

if (chkBx != null && chkBx.Checked)

{

Label lbl = (Label)di.FindControl("lbl_memno");

ListItem item = new ListItem(lbl.Text, lbl.Text);

if (!SelectedList.Items.Contains(item))

{

SelectedList.Items.Add(item);

}

}

//if check box is not checked then

if ((chkBx != null) && !(chkBx.Checked))

{

Label lbl = (Label)di.FindControl("lbl_memno");

ListItem item = new ListItem(lbl.Text, lbl.Text);

//if un checked item is in the list then remove

if (SelectedList.Items.Contains(item))

{

SelectedList.Items.Remove(item);

}

}

}

//end of state maintaining

}هذا الكود يحتفظ بالبيانات الchecked داخل listBox

protected void EmpGV_RowDataBound(object sender, GridViewRowEventArgs e)

{

if ((e.Row.RowType == ListItemType.Item) || (e.Row.RowType == ListItemType.AlternatingItem))

{

CheckBox chkBx = (CheckBox)e.Row.Cells[0].FindControl("ChkDel");

Label lbl = (Label)e.Row.Cells[1].FindControl("lbl_memno");

ListItem item = new ListItem(lbl.Text, lbl.Text);

if (SelectedList.Items.Contains(item))

chkBx.Checked = true;

else

chkBx.Checked = false;

}

}

اما هذا الجزء يملى الcheckbox بالذى تم اختيارة لان الاختيار بيطر عند التنقل بين الصفحات

المشكلة فى هذا السطر

if ((e.Row.RowType == ListItemType.Item) || (e.Row.RowType == ListItemType.AlternatingItem))

بيطلع error بيقول Error 4 Operator '==' cannot be applied to operands of type 'System.Web.UI.WebControls.DataControlRowType' and 'System.Web.UI.WebControls.ListItemType'\

ولا اعرف كيفية حلة

شكرااااااااااا

مواضيع مشابهة