PDA

View Full Version : مشکل در ارتباط بین کمبو باکس و دیتا بیس(EF)



Mansoor92
جمعه 08 شهریور 1392, 19:15 عصر
سلام دوستان

من میخوام یک کمبو باکس رو به یک فیلد از دیتا بیس متصل کنم در قسمت فرم لود بتونم از کمبو باکس فیلد مورد نظر رو انتخاب کنم اما وقتی کد زیر رو مینویسم فقط اطلاعات به صورت جملات انگلیسی توی کمبوباکس نمایش داده میشه(دیتابیس بصورت ADO .NET Entity Data Model بوجود اومده)
ممنون میشم راهنمایی کنید.

LibraryEntities database = new LibraryEntities();
private void AddAmanat_Load(object sender, EventArgs e)
{
User table1 = new User();
comboBox1.DataSource = database.Users.ToList();
comboBox1.DisplayMember = table1.Name;
}



اطلاعات به این شکل در کمبو باکس نمایش داده میشن

Library_ME.User
Library_ME.User
Library_ME.User

Direlap
جمعه 08 شهریور 1392, 19:33 عصر
عکسی از نتیجه کارتون رو ضمیمه کنید.
فیلدی که میخواهید بهش وصل بشید رو همراه جدولش اینجا قرار بدید تا بشه راهنماییتون کرد.

Mansoor92
جمعه 08 شهریور 1392, 19:36 عصر
109954

بفرمایید این عکس از مشکل برنامه

مهرداد صفا
جمعه 08 شهریور 1392, 19:51 عصر
با سلام.
شما یک جدول را به عنوان DataSource قرار دادید و باید نام فیلدی را به عنوان DisplayMember مشخص کنید. به این صورت:



comboBox1.DataSource = dataBase.words;
comboBox1.DisplayMember = "name";

Direlap
جمعه 08 شهریور 1392, 20:06 عصر
ساده ترین راهش بدون استفاده از بایندینگ اینه :



foreach (var item in db.Tables)
{
comboBox1.Items.Add(item.name.ToString());
}

Mansoor92
جمعه 08 شهریور 1392, 20:14 عصر
با سلام.
شما یک جدول را به عنوان DataSource قرار دادید و باید نام فیلدی را به عنوان DisplayMember مشخص کنید. به این صورت:



comboBox1.DataSource = dataBase.words;
comboBox1.DisplayMember = "name";

سلام خدمت شما

ببخشید با این کار هم مشکل حل نشد

این برنامه ای (http://uploadkon.ir/?file=Library ME.rar)هست که نوشتم ممنون میشم راهنمایی کنید...

Mansoor92
جمعه 08 شهریور 1392, 20:33 عصر
ساده ترین راهش بدون استفاده از بایندینگ اینه :



foreach (var item in db.Tables)
{
comboBox1.Items.Add(item.name.ToString());
}



واقعا ازتون ممنونم

درست شد.

drstrike
جمعه 08 شهریور 1392, 21:00 عصر
روشی که مهرداد صفا میگه درست هست. شما بجای استفاده از نام پراپرتی دارید از مقدارش استفاده می کنید! (توی پست اول)

اگه میخواید اطلاعات رو از یه دیتاست بخونید خط کدتون رو یه تغییر دهید به:

using (var dbContext = new Model1)
{
comboBox1.DataSource = dbContext.User;
comboBox1.DisplayMember = "Name";
}