PDA

View Full Version : کمک فوری-گریدویو با ستون جزئیات



mosadatta
یک شنبه 14 شهریور 1389, 13:04 عصر
سلام دوستام من می خوام با اضافه کردن ستون جزئیات اطلاعات کاملتر هر سطر را در یک صفحه جدید نمایش دهد، لطفا هر چی به نظرتان می رسه بگید:ناراحت:

بمب منطقی
یک شنبه 14 شهریور 1389, 14:05 عصر
سوالت که ناقص بود ولی چیزی که دستم اومد رو بهت میگم:
فرضیات:
جدول در بانک دارای مثلا 5 ستون به نام های ،Pname ،Pcode ،Pmodel ،Pprice و Pcomment هست.که کد کالا در جدول منحصر به فرد هست و نمیتونه تهی باشه.
دو صفحه داریم: d1aspx برای نشان دادن مختصر مشخصات(دارای یک گرید ویوو).صفحه d2.aspx برای نمایش دادن جزئیات هر محصول (دارای یک textbox)
پیشنهادات:
در صفحه d1.aspx
از templatefiled گرید ویوو (gridview) استفاده می کنی و 4 کنترل textbox درونش قرار میدی و خصیصه text هرکدوم از این 4 کنترل رو به هر کدوم از 4 ستون جدول (بجز Pcomment)بصورتcustom بایند (bind) میکنی(بدون استفاده از sqldatasource و با تایپ دستور Eval). یک کنترل hyperlink هم درون tamplatefiledت قرار میدی و commandargument اونو با Eval به کلمه link بایند کن.
سپس در codebehind جدولت رو با SqldataAdapter و dtatatable ، از دیتابیس fetch میکنی.سپس به datatable یک ستون به نام link و با مقدار string اضافه میکنی و مقدارش رو در هر سطر بدین شکل میدی:

datatable dt=new datatable
.
.
.
dt.rows[i]["link"]="d2.aspx?code="+server.urlencode(dt.rows[i]["Pcode"].tostring());
این دستور یک querystring هست:

در صفحه d2.aspx:
در formload چک میکنی که اگه querystring موجود بود مقدار code اون رو با استفاده از:
server.urldecode تبدیل کرده و جدول رو با شرط ،ستون code مساوی مقدار بدست آمده از querystring و با استفاده از datatable و Sqldataadapter جستجو بزنه و در انتها مقدار داخل textbox رو به این صورت تغییر بده:

datatable dt=new datatable
.
.
.
textbox1.text= dt.rows[0]["pcomment"].tostring();

امیدوارم دستت اومده باشه باید چیکار کنی :لبخندساده: