PDA

View Full Version : اختصاص مقدار به هر آیتم ComboBox



shima2006
چهارشنبه 04 شهریور 1388, 14:33 عصر
سلام دوستان
من خصوصیتItem رو برای ComboBox ها تنظیم کردم ولی نمی دونم چطوری باید به هر آیتم یک Value اختصاص بدم :متفکر:

shahab_ss
چهارشنبه 04 شهریور 1388, 15:16 عصر
من خصوصیتItem رو برای ComboBox ها تنظیم کردم
میشه بگی چطور این کار رو انجام دادی ؟


cmb_Combo1.Items.Add("item1");
cmb_Combo1.Items.Add("item2");
cmb_Combo1.Items.Add("item3");

NewFoxStudent
چهارشنبه 04 شهریور 1388, 15:51 عصر
مقداری که میخواهید اختصاص بدید از چه نوعی باید باشه
مثلا برای نوع int میتونید یک enum تعریف کنید و ایتمهای اون رو به combobox منتقل کنید

saeedr22
چهارشنبه 04 شهریور 1388, 16:01 عصر
اگه منظورتونو درست متوجه شده باشم.شما باید از دستور زیر استفاده کنین.


cmbUsers.ValueMember = "UsId";
cmbUsers.DisplayMember = "UsUser";
cmbUsers.DataSource = mydatatable;

z_bluestar
چهارشنبه 04 شهریور 1388, 16:19 عصر
فكر كنم اين طوري جواب بده.

cmbUsers.DataValueField = "UsId";
cmbUsers.DataTextField = "UsUser";
cmbUsers.DataSource = mydatatable;

shima2006
شنبه 07 شهریور 1388, 10:31 صبح
وقتی من یک مقدار رو به این روش اضافه کنم

cmb_Combo1.Items.Add("item1");

از طریق خصوصیت VALUE MEMBER نمیشه هیچ مقداری اختصاص داد

shahab_ss
شنبه 07 شهریور 1388, 11:44 صبح
از چه دیتا سورسی استفاده میکنید ؟

shima2006
یک شنبه 08 شهریور 1388, 10:42 صبح
#C دیگه
دیتا سورس منظورتون همینه نه؟

shahab_ss
یک شنبه 08 شهریور 1388, 12:51 عصر
جنس "item1" چی هست ؟ ، قراره بصورت دستی پر بشه یا اینکه با دیتاهایی که از دیتابیس میگیرید ؟

shima2006
یک شنبه 08 شهریور 1388, 13:05 عصر
دستی پرش می کنم
از طریق دیتا بیس اگه بخوام اینکارو انجام بدم مشکلی نیست
ولی وقتی میخوام دستی پر کنم نمی دونم چطوری باید به هر Item یک Value اختصاص بدم

shahab_ss
یک شنبه 08 شهریور 1388, 13:08 عصر
از این کلاس مشتق بگیرید و اون رو اضافه کنید.

public class ComboItem
{
public ComboItem(string text, string type)
{
Text = text;
Type = type;
}
public string Text { get; private set; }
public string Type { get; private set; }

public override string ToString()
{
return Text;
}
}
به این صورت


ComboItem D = new ComboItem(tEXT, VALUE);
cmb.Items.Add(D);

shima2006
یک شنبه 08 شهریور 1388, 13:25 عصر
ببخشید فقط همینو بنویسم کافیه ؟؟؟

ComboItem D = new ComboItem(tEXT, VALUE);
cmb.Items.Add(D);

shahab_ss
یک شنبه 08 شهریور 1388, 13:35 عصر
شما باید کلاس ComboItem رو به پروژه خودتون اضافه کنید.
بعد، از این کلاس یک آبجکت به همون شکلی که گفتم ایجاد کنید و به کمبو اضافه کنید

shima2006
دوشنبه 09 شهریور 1388, 12:23 عصر
کاری رو که گفتید انجام دادم ولی روی خط زیر:

public ComboItem(string text, string type)
این پیغامو میده

comboitem(string,string):not all code paths returns a value
و روی این خط هم

ComboItem D = new ComboItem(tEXT, VALUE);
این پیغام رو میده

comboitem(string,string): is a method but is used like a type

shahab_ss
دوشنبه 09 شهریور 1388, 21:00 عصر
این هم یک مثال.

shima2006
شنبه 14 شهریور 1388, 14:30 عصر
متشکرم shahab_ss
کمک بزرگی بهم کردید