PDA

View Full Version : اضافه کردن ایتم به تمام comboBox ها



moghtada
سه شنبه 13 مرداد 1394, 15:27 عصر
سلام اساتید
من تو فرمم 22 تا comboBox دارم که میخام همشون رو با یک حلقه مقدار دهی کنم
مثلا برای اولی

String[] itemm={}
foreach(String s in itemm)
combobox1.items.add(s);

می نویسم ولی چطور میتونم بدون اینکه برای تک تکشون این کد رو بنویسم 22 تا comboBox رو پر کنم
ممنون

مهرداد صفا
سه شنبه 13 مرداد 1394, 15:35 عصر
سلام.


foreach(Control ctrl in this.Controls)
if(ctrl is ComboBox)
(ctrl as ComboBox).DataSource=Items;

moghtada
سه شنبه 13 مرداد 1394, 17:45 عصر
سلام.


foreach(Control ctrl in this.Controls)
if(ctrl is ComboBox)
(ctrl as ComboBox).DataSource=Items;

دستتون درد نکنه ولی items رو نشناخت و ارور داد این طوری حلش کردم

string[] combo= {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22"}; foreach(Control ctrl in this.Controls)
if (ctrl is ComboBox)
{
ComboBox controlCombobox = ctrl as ComboBox;
foreach (string xx in combo)
controlCombobox.Items.Add(xx);
}

moghtada
سه شنبه 13 مرداد 1394, 17:49 عصر
اگه بخام چند تا از comboBox ها رو پر نکنم چطور؟؟

مهرداد صفا
سه شنبه 13 مرداد 1394, 20:09 عصر
اگه بخام چند تا از comboBox ها رو پر نکنم چطور؟؟

نام اون عداد رو داخل یک آرایه نگهدارید و:


string[] NCombos = new string[]{"comboX","ComboY..."};
foreach ....{
...
if(!NCombos.Contains(ctrl.Name)//در صورتی که نام کنترل در گروه2 قرار ندارد
//do something

Tooradj_O
چهارشنبه 14 مرداد 1394, 10:45 صبح
با عرض سلام و خسته نباشید
سوالی که من اینجا دارم اینه که وقتی ما می خواهیم روی هر آیتم combobox چند مقدار داشته باشیم بجای controlCombobox.Items.Add(string( با ایجاد یک object و مقدار دهی آن از controlCombobox.Items.Add(Object( استفاده می کنیم که جواب هم میده، یعنی من جای دیگه از آیتم انتخاب شده میتونم مقادیر آبجکتش رو بگیرم ولی مشکل اینه که در این حالت روی text آیتمهای combo نمی تونم کنترلی داشته باشم و اونچیزی که خودم می خوام رو بهشون بدم.
آیا راهی که میرم درسته؟
آیا کار دیگه ای هم باید انجام بدم؟
...
لطفا راهنمایی کنید.

davidrobert
چهارشنبه 14 مرداد 1394, 11:40 صبح
بفرمائید این دستور بدرتون میخوره.
var q = db.Tbl_Name_Kala.Distinct();
TxtVahdAnddazeGere.Items.Clear();
foreach (var tblNameKala in q)
{
TxtVahdAnddazeGere.Items.Add(tblNameKala.NK_Vahd_A ndaze_Gere);
}
var q = db.Tbl_Name_Kala();
TxtVahdAnddazeGere.Items.Clear();
foreach (var tblNameKala in q)
{
TxtVahdAnddazeGere.Items.Add(tblNameKala.NK_Vahd_A ndaze_Gere);
}