PDA

View Full Version : مبتدی: ComboBox دو ستونه خیلی فوری



mreza80
پنج شنبه 19 بهمن 1391, 10:04 صبح
با سلام
دوستان در نظر بگیرید جدولی شهرها رو با کد شهر و نام شهر
حالا در یک فرم عملیاتی میخواهیم برای انتخاب شهر از کامبو استفاده کنیم مطمئنا در جدول عملیاتی کد شهر رو باید ذخیره کنیم میدانم با بایند کردن و تنظیم خاصیتهای مربوطه جواب گرفت ولی به دلالیلی باید کامبو را با یک حلقه پرکینم یعنی خبری از بایند کردن نیست آیا کسی تا حالا این کارو انجام داده لطفا کمک کنید یعنی من باید دو ستون در کامبو داشته باشم که فقط نام را نمایش داده و در صورت انتخاب بتوانم کد آنرا به دست بیارم

var query = (from p in context.Hr_DefDoreAmozeshi
orderby Name
select p);
foreach (var it in query)
{
cmbDoreAmozeshi.Items.Add(it.Name );
}

ali.bahrami
پنج شنبه 19 بهمن 1391, 14:57 عصر
سلام دوست عزیز شاید این کمکن بکنه.

http://www.codeproject.com/Articles/3206/Multi-Column-ComboBox
کمبو باکس چند ستونه.

mreza80
دوشنبه 23 بهمن 1391, 08:50 صبح
دوستان خودم راهشو پیدا کردن به اختصار مینویسم اگه توضیحی لازم بود بگین تا دوباره بنویسم ابتدا یک کلاس تعریف کنید

class userData
{
private int _value;
private string _name;

public int Value
{
get { return _value; }
set { _value = value; }

}
public string Name
{

get { return _name; }
set { _name = value; }

}
public userData(string name, int value)
{

_name = name;

_value = value;

}
public override string ToString()
{
return _name;

}

}
سپس کامبو رو به صورت زیر پر نمائید


var query = (from p in context.Hr_DefDoreAmozeshi
orderby Name
select p);

foreach (var it in query)
{
cmbDoreAmozeshi.Items.Add(new userData(it.Name, it.IdDoreAmozeshi));
}

وبرای دسترسی از کد زیر استفاده نمائید

userData selectedData = (userData)cmbDoreAmozeshi.SelectedItem;
txtDoreAmozeshi.Text = Convert.ToString(selectedData.Value);