PDA

View Full Version : سوال در مورد for each



yekta64
شنبه 28 شهریور 1388, 17:09 عصر
سلام دوستان خسته نباشید
من برای طراحی سایتم نیاز به درج یه سری اطلاعات در دیتابیس دارم برای این کار باید تعدادی پارامتر تعریف کنم منتها چون اطلاعاتی که باید درج بشن زیاد هستن من میخوام از دستور for each استفاده کنم اما خوب نمی دونم چطور باید از این دستور برای نوشتن پارامترها استفاده کنم که برای هر پارامتر اسم label مربروطه نوشته بشه
ممنون میشم اگه کسی اطلاعاتی در این زمینه داره در اختیار من قرار بده

Exception
شنبه 28 شهریور 1388, 20:22 عصر
منظور رو درست متوجه نشدم. یعنی میخوای تعدادی label به صورت داینامیک در یک حلقه درست کنی و توی صفحه اضافه کنی؟
اگر اینطوریه که اول یک PlaceHolder جایی که میخوای Labelها اضافه بشن (تو فایل aspx) بذار:

<asp:PlaceHolder id="PlaceHolder1" runat="server" />
بعدش یه حلقه ای شبیه این بنویس:

foreach(...)
{
Label Label1 = new Label();
Label1.Text = "...";
PlaceHolder1.Controls.Add(Label1);
}

yekta64
یک شنبه 29 شهریور 1388, 16:02 عصر
منظور رو درست متوجه نشدم. یعنی میخوای تعدادی label به صورت داینامیک در یک حلقه درست کنی و توی صفحه اضافه کنی؟
اگر اینطوریه که اول یک PlaceHolder جایی که میخوای Labelها اضافه بشن (تو فایل aspx) بذار:

<asp:PlaceHolder id="PlaceHolder1" runat="server" />
بعدش یه حلقه ای شبیه این بنویس:

foreach(...)
{
Label Label1 = new Label();
Label1.Text = "...";
PlaceHolder1.Controls.Add(Label1);
}
مرسی از لطفتون
ببین دوست عزیر من توی صفحه یه سری label دارم که می خوام اطلاعات موجود تو این label ها رو توی دیتابیس ذخیره کنم برای این کار می خوام اطلاعات رو به وسیله دستور پارامتر به query درج بفرستم منتها چون تعداد label ها زیاد هستش به من گفتن بهتره برای ارسال پارامتر ها از دستور for each استفاده کنید من نمی دونم چطور باید از این دستور استفاده کنم امیدوارم توضیحات کامل بوده باشه

sahele_sheni
یک شنبه 29 شهریور 1388, 16:14 عصر
شما هر چندتا item هم که بخوای ذخیره کنی فرقی نمی کنه . مشکلی بوجود نمی یاد . فقط باید متد insert مربوط به اون tableadapter رو فراخوانی کنی.....
اگه سوالی بود بپرس .

yekta64
یک شنبه 29 شهریور 1388, 19:33 عصر
شما هر چندتا item هم که بخوای ذخیره کنی فرقی نمی کنه . مشکلی بوجود نمی یاد . فقط باید متد insert مربوط به اون tableadapter رو فراخوانی کنی.....
اگه سوالی بود بپرس .
دوست عزیز مشکل من با تعداد آیتم های ارسالی نیست مشکل من با نوشتن دستور for each برای دستور:

cmd.parameters.add(label1.text,"اسم پارامتر")
هستش طوری که من برای فرضا 20 label این دستور رو ننویسم و با یه حلقه for each اونا رو به دستور insert ارسال کنم
نمی دونم خوب توضیح دادم یا نه
من خیلی به این کد نیاز دارم

Exception
یک شنبه 29 شهریور 1388, 21:42 عصر
دوست عزیز مشکل من با تعداد آیتم های ارسالی نیست مشکل من با نوشتن دستور for each برای دستور:

cmd.parameters.add(label1.text,"اسم پارامتر")هستش طوری که من برای فرضا 20 label این دستور رو ننویسم و با یه حلقه for each اونا رو به دستور insert ارسال کنم
نمی دونم خوب توضیح دادم یا نه
من خیلی به این کد نیاز دارم
اگر تمام کنترلها فرزند یک کنترل هستند، یه چیزی شبیه این میشه:

foreach(Control c in parent.Controls)
{
if(c is Label)
{
cmd.Parameters.Add((c as Label).Text, parameterName);
}
}البته اون parameterName رو همینجوری نوشتم. باید خودت ببینی از کجا میشه گرفتش.

yekta64
یک شنبه 29 شهریور 1388, 23:46 عصر
خوب من سوالم رو یه جور دیگه مطرح می کنم
اگه شما بخواید یه کدبا استفاده از for each برای ارسال ÷ارامتر به query insert بنویسید چی کدی می نویسید؟

Exception
دوشنبه 30 شهریور 1388, 17:32 عصر
خوب من سوالم رو یه جور دیگه مطرح می کنم
اگه شما بخواید یه کدبا استفاده از for each برای ارسال ÷ارامتر به query insert بنویسید چی کدی می نویسید؟
کلا for each کار عجیبی نمیکنه! یه حلقه است مثل for معمولی.
حالا شما اگر مثلا پارامترهاتون توی یه آرایه باشه، میتونین اینجوری بفرستین. اگر دقیقا بگین که پارامترها کجا هستند، شاید بشه کمک کرد ولی اینجوری کلی نمیشه چیزی گفت