PDA

View Full Version : سوال: نحوه دسترسی به آیتمهای تعریف شده درون Template در یک DataGrid



najafzade
دوشنبه 08 مهر 1387, 15:51 عصر
سلام به اساتید محترم
یک سوال داشتم که امیدوارم به آن پاسخ دهید.

من درون یک DataGrid یک سری آیتم از قبیل نام و نام خانوادگی و . . . با استفاده از Label ها درست کردم و عکسش رو هم ضمیمه کردم.

حالا سوال من این است که من چطور میتونم به مقادیر درون آیتمها دسترسی داشته باشم.
مثلا پس از اجرا چطور می تونم به مقدار Label1 که نام است دسترسی داشته باشم.

اگر لطف و عنایتی بنمائید ممنون می شوم.

با تشکر :گریه:

m.hamidreza
دوشنبه 08 مهر 1387, 16:40 عصر
foreach (GridViewRow gridRow in gView1.Rows)
{
Label _Label = (Label)gridRow.FindControl("label1");
//do something

}

nemidonam
دوشنبه 08 مهر 1387, 17:01 عصر
اين كد رو توي event RowDataBound قرار بده


GridViewRow row = e.Row;
if (row.DataItem == null)
{
return;
}
Label label1 = (Lable)row.FindControl("mylabale");

kezack
دوشنبه 08 مهر 1387, 17:13 عصر
از طريق خاصيت SelectedIndexChanged ميتوني هر كنترلي كه درون gird هست مقاديرشو دريافت كني

najafzade
دوشنبه 08 مهر 1387, 19:21 عصر
سلام به اساتید محترم.
مشکل من با DataGrid است نه GridView.

لطفا یک کمکی بفرمائید.
ممنون می شم.
کدهای بالا هیچکدوم به کار نیومد. من عکس مشکلم رو هم گذاشتم.

توی اون DataGrid مشخص است.

با تشکر.

m.hamidreza
دوشنبه 08 مهر 1387, 20:04 عصر
تا جایی که من یادم بود دیتاگرید تو NET 1.1. بود که تو 2.0 شد تبدیل شد به گریدویو با امکانات بیشتر. ولی الان دیدم تو تگ ها هست! دلیلشو نمیدونم...
شما از متد ItemDataBound میتونی استفاده کنی تو چندتا تاپیک قبل یه مثال در مورد دیتالیست با اون متد هست ...
موفق باشی.

najafzade
دوشنبه 08 مهر 1387, 20:32 عصر
تا جایی که من یادم بود دیتاگرید تو NET 1.1. بود که تو 2.0 شد تبدیل شد به گریدویو با امکانات بیشتر. ولی الان دیدم تو تگ ها هست! دلیلشو نمیدونم...
شما از متد ItemDataBound میتونی استفاده کنی تو چندتا تاپیک قبل یه مثال در مورد دیتالیست با اون متد هست ...
موفق باشی.

سلام
خداوکیل اگه آدرسی چیزی دارین اینجا بزارین
اخه من بین 250000 پست کدوم رو نگاه کنم؟

merlin_vista
دوشنبه 08 مهر 1387, 20:38 عصر
تا جایی که من یادم بود دیتاگرید تو NET 1.1. بود که تو 2.0 شد تبدیل شد به گریدویو با امکانات بیشتر. ولی الان دیدم تو تگ ها هست! دلیلشو نمیدونم...
شما از متد ItemDataBound میتونی استفاده کنی تو چندتا تاپیک قبل یه مثال در مورد دیتالیست با اون متد هست ...
موفق باشی.

dataGrid به طور پيش فرض در Toolbox ويژوال 2005 به بعد قرار نگرفت و جاي خود را به GrdiView داد . :تشویق:

ولي شما ميتونيد آن را از طريق ChoiseItems اضافه كنيد . :چشمک:

najafzade
دوشنبه 08 مهر 1387, 20:42 عصر
dataGrid به طور پيش فرض در Toolbox ويژوال 2005 به بعد قرار نگرفت و جاي خود را به GrdiView داد . :تشویق:

ولي شما ميتونيد آن را از طريق ChoiseItems اضافه كنيد . :چشمک:

اساتید محترم
شما چرا اینقدر جوابهای که اصلا ربطی به موضوع نداره میدین.
سوال من اینه که اول کاری هم پرسیدم ولی دو تا جواب در مورد GridWiew به من دادند که به دردم نخورد:

من درون یک DataGrid یک سری آیتم از قبیل نام و نام خانوادگی و . . . با استفاده از Label ها درست کردم و عکسش رو هم ضمیمه کردم.

حالا سوال من این است که من چطور میتونم به مقادیر درون آیتمها دسترسی داشته باشم.
مثلا پس از اجرا چطور می تونم به مقدار Label1 که نام است دسترسی داشته باشم.

اگر لطف و عنایتی بنمائید ممنون می شوم.

با تشکر :گریه:

m.hamidreza
دوشنبه 08 مهر 1387, 21:28 عصر
http://barnamenevis.org/forum/showthread.php?t=124400

afshinmu
پنج شنبه 20 مرداد 1390, 03:17 صبح
سلام دوست عزیز .
خیلی راحت می تونید با یه همچین دستوراتی بهش دسترسی داشته باشید :

اینا رو مثلا توی DataList1_ItemDataBound بنویسید :



((Button)e.Item.FindControl("buttonname")).Visible=false;




امتحان کردم ، جواب داد

majid.mp
پنج شنبه 03 شهریور 1390, 09:24 صبح
اين كد رو توي event RowDataBound قرار بده


GridViewRow row = e.Row;
if (row.DataItem == null)
{
return;
}
Label label1 = (Lable)row.FindControl("mylabale");

با سلام
دوست گرامی میشه بفرماییداین کد رو چطور باید تغییر بدم که به کنترل داخل HeaderTemplate دسترسی پیدا کنم؟
با تشکر از مطلب مفیدتون.