PDA

View Full Version : سوال: مشکل paging در دیتاگرید asp.net 2005



c#_web
شنبه 25 خرداد 1387, 20:31 عصر
در برنامه ام یک دیتاگرید دارم که آنرا از دیتابیس پر کرده ام به صورت databind و datasource.
حالا برای دیتاگریدpaging=true کرده ام . و در pageindexchange کد مربوطه را نوشته ام.


dg.currentpageindex=e.newpageindex;

البته در این دیتاگرید ستونی از نوع item template هم دارم. که در آن یک link button گذاشته ام. میخوام با کلیک روی لینک ، item command اجرا شده و کد سطر جاری را پیدا میکند.


id=dg.datakeys[e.item.itemindex].tostring();


و بر اساس سطر جاری که انتخاب شده محتویات آن سطر را در فیلدهای مربوطه اش نشان دهد.
اما وقتی در اجرای برنامه دیتاگرید پر شده روی صفحه1 که کلیک میکنم مشکلی نداره ولی روی 2 که کلیک میکنم خطا میدهد که e.item.itemindex را نمیشناسد. چه کار باید بکنم؟؟؟:ناراحت::افسرده:

hesam_a110
یک شنبه 26 خرداد 1387, 07:57 صبح
درود بر شما


GridPages.PageIndex = e.NewPageIndex;
bind_grd();

پیروز و نیک باشید

c#_web
یک شنبه 26 خرداد 1387, 09:28 صبح
من آنرا هم بایند کرده ام . ولی در قسمت paging به صفحه دوم که میروم در متغیرهایم خطا گرفته و آنها را نمیشناسد.

hesam_a110
یک شنبه 26 خرداد 1387, 09:54 صبح
درود بر شما
ممکنه error را بگذارید
پیروز و نیک باشید

c#_web
یک شنبه 26 خرداد 1387, 11:48 صبح
وقتی به صفحه 2میروم در خط پیدا کردن id خطا داده که index was out of range. must be none negative.
در بایند کردن دیتاگرید در تابع fillgrid کد سطر را انتخاب کرده.
حالا در تابع item command کد سطر جاری که کلیک شده را پیدا کرده و یکسری عملیات انجام میدهد. که حالا در تابع item command در خط
[/CODE]
id=dg.datakeys[e.item.itemindex].tostring();
[/CODE]
خطا را میدهد.
البته در تست برنامه دیدم که e.item.itemindex=-1 شده بود. آیا باید آنرا در session نگه دارم؟؟؟
چگونه؟؟؟؟