PDA

View Full Version : سوال: 3 سوال در مورد GridView...



hamid1988
دوشنبه 05 مرداد 1388, 16:44 عصر
با سلام....
در کار با کنترل گرید ویو برام 3 مشکل پیش اومده که امیدوارم پاسخ بدین.

1- از کد زیر برای دسترسی به کنترلهای گرید ویو استفاده می کنم، اما Error می ده!

Label myLabel = (Label)GridView1.Controls[0].FindControl("lblName");
myLabel.Text = "Hamid";راه حل چیه؟

2-دیتا سورس کنترل GridView رو با کد زیر پر می کنم...

GridView1.DataSource = myDs.Tables["myTable"];برای اینکه Paging گرید ویو کار کنه، چی کار باید بکنم؟

3-این سوال تکراریه ولی پاسخی بهش داده نشده...
می خوام Paging گرید ویو بصورت زیر بشه:
http://www.barnamenevis.org/forum/attachment.php?attachmentid=33920&stc=1&d=1248540258
می دونم که با Css در Paging Style میشه همچین کاری کرد (خطاب به دوستانی که میگن با Css میشه Paging رو به این شکل درآورد!) لطفاَ کدش رو بزارید!

مرسی از اینکه پاسخ میدین.

ghabil
دوشنبه 05 مرداد 1388, 20:11 عصر
1) آخه گرید ویوت که یک دونه لیبل نمیسازه به ازای هر سطر اطلاعات داره اون لیبل رو میسازه. پس باید اول یک ROW رو انتخاب بکنی، بعد توی اون ROW یک Cell رو انتخاب بکنی بعد انوجا FindControl کنی

2)AllowPaging رو True کن.

3)اونایی که میگن جواب بدن. نه اینکه من بگم نمیشه ها....

hamid1988
دوشنبه 05 مرداد 1388, 21:02 عصر
AllowPaging رو True کن.
کردم ولی بازم Error میده!

karim orooji
دوشنبه 05 مرداد 1388, 21:10 عصر
نقل قول: 3 سوال در مورد GridView...
نقل قول:
AllowPaging رو True کن.
کردم ولی بازم Error میده!

با true كردن AllowPaging ختم نميشه
شما بايد براش برنامه بنوسيد
در قسمت PageIndexChanging گريدتون اين دستور رو بايد اضافه كني

Dim dta1 AsNew SqlDataAdapter("select * from a", "server=KARIM-2C7114F58\SQLEXPRESS;integrated security=sspi;initial catalog=orooji;")



dta1.Fill(ds1, "a")



dg2.PageIndex = e.NewPageIndex



dg2.DataSource = ds1



dg2.DataBind()


موفق باشي

hamid1988
سه شنبه 06 مرداد 1388, 11:55 صبح
سوالات 1 و 3 هنوز بدون پاسخ موندنا!

بهنام بهمنی
سه شنبه 06 مرداد 1388, 12:46 عصر
1- اگر LABEL ت در ردیفها قرار دارد(اما اگر در HEADER , FOOTER هم هست بخش IF را حذف کن)


if (e.Row.RowType == DataControlRowType.DataRow) { (e.Row.FindControl("LABEL1") as LABEL),

karim orooji
سه شنبه 06 مرداد 1388, 13:00 عصر
سوالات 1 و 3 هنوز بدون پاسخ موندنا!

با سلام به دوست گرامي
جواب شماره 2


Dim dta1 AsNew SqlDataAdapter("select * from a", "server=KARIM-2C7114F58\SQLEXPRESS;integrated security=sspi;initial catalog=orooji;")
dim ds as new dataset
dta1.Fill(ds1, "a")

dg2.DataSource = ds1
dg2.DataBind()

naeeme
سه شنبه 06 مرداد 1388, 13:47 عصر
1- اگر LABEL ت در ردیفها قرار دارد(اما اگر در HEADER , FOOTER هم هست بخش IF را حذف کن)


if (e.Row.RowType == DataControlRowType.DataRow) { (e.Row.FindControl("LABEL1") as LABEL),


این کد شما نمی تونه کنترل در ردیف رو پیدا کنه. چون هر ردیف از حداقل یک سلول تشکیل شده که کنترل در اون سلول قرار داره. پس باید در سلول مرود نظر دنبال کد گشت.!


1- از کد زیر برای دسترسی به کنترلهای گرید ویو استفاده می کنم، اما Error می ده!

Label myLabel = (Label)GridView1.Controls[0].FindControl("lblName");
myLabel.Text = "Hamid";راه حل چیه؟

شما باید این مسیر رو برید==> gridView.Rows(index).Cells(index).FindControl

=============================
جواب این سوال رو توی این تاپیک (http://barnamenevis.org/forum/showthread.php?t=170085) دادم. اونجا رو نگاه کنین.