c#_web
جمعه 14 تیر 1387, 00:36 صبح
در برنامه ام در دیتاگرید نیاز دارم که یک یا چند ستون آن از نوع templateباشند.
حالا اگر به این دیتاگرید حالت pagingبدهم ،در بایند کردن دیتاگرید باید ستونهای از نوع template را هم دستی ست کنم.
که در زیر آنها را مینویسم.
حالا اگر مثلاpagesize=5 و حالا در جدولی که این دیتاگرید از آن بایند میشود 6 رکورد وجودداشته باشد، وقتی صفحه لود شده و دیتاگرید بایند میشود ، دیتاگرید 2 صفحه دارد.
اگر روی page2 کلیک کنیم محتویات آخرین رکورد یا رکورد شماره 6 را در صفحه دوم میبینیم.
اما مشکل من اینست که اگر این سطر از دیتاگرید را انتخاب کرده و آنرا حذف کنم ، حذف انجام شده ولی بعد از آن خطای زیر را میدهد.
اما اگر روی لینک دیگری رفته و دوباره وارد این فرم شویم دیگر مشکلی ندارد .
لطفا مرا راهنمایی کنین چه کار کنم؟
dg_pageindex Chang
dg.currentpageindex=e.newpageindex;
session["i"]=e.newpageindex*dg.pagesize
fillgrid();
در داخل fillgrid()
ds=............................;
dg.datasource=ds.tables[0];
dg.databind();
int i=int.parse(session["i"].tostring());
foreach (datagriditem item in dg.items)
{
((linkbutton)item.findcontrol("Id")).text=int.parse(ds.tables[0].rows[i]["id"].tostring()).tostring();
i++;
}
حالا هنگام اجرای برنامه وقتی دکمه delete را میزنیم و در صفحه دوم هستیم ، pageindex=1 است و pagesize=5 و ds.tables[0].rows.count=6
اما به i=6 که میرسد خطای زیر را میدهد.
there is no row in position 6
حالا برای رفع مشکل چه کار کنم؟
حالا اگر به این دیتاگرید حالت pagingبدهم ،در بایند کردن دیتاگرید باید ستونهای از نوع template را هم دستی ست کنم.
که در زیر آنها را مینویسم.
حالا اگر مثلاpagesize=5 و حالا در جدولی که این دیتاگرید از آن بایند میشود 6 رکورد وجودداشته باشد، وقتی صفحه لود شده و دیتاگرید بایند میشود ، دیتاگرید 2 صفحه دارد.
اگر روی page2 کلیک کنیم محتویات آخرین رکورد یا رکورد شماره 6 را در صفحه دوم میبینیم.
اما مشکل من اینست که اگر این سطر از دیتاگرید را انتخاب کرده و آنرا حذف کنم ، حذف انجام شده ولی بعد از آن خطای زیر را میدهد.
اما اگر روی لینک دیگری رفته و دوباره وارد این فرم شویم دیگر مشکلی ندارد .
لطفا مرا راهنمایی کنین چه کار کنم؟
dg_pageindex Chang
dg.currentpageindex=e.newpageindex;
session["i"]=e.newpageindex*dg.pagesize
fillgrid();
در داخل fillgrid()
ds=............................;
dg.datasource=ds.tables[0];
dg.databind();
int i=int.parse(session["i"].tostring());
foreach (datagriditem item in dg.items)
{
((linkbutton)item.findcontrol("Id")).text=int.parse(ds.tables[0].rows[i]["id"].tostring()).tostring();
i++;
}
حالا هنگام اجرای برنامه وقتی دکمه delete را میزنیم و در صفحه دوم هستیم ، pageindex=1 است و pagesize=5 و ds.tables[0].rows.count=6
اما به i=6 که میرسد خطای زیر را میدهد.
there is no row in position 6
حالا برای رفع مشکل چه کار کنم؟