PDA

View Full Version : پر کردن کمبوباکس با اطلاعات دیتابیس توسط linq در معماری سه لایه



adineh67
سه شنبه 20 مرداد 1394, 18:12 عصر
سلام
یه استور پروسیجر سلکت نوشتم که دو آیتم آی دی و توضیحات رو از جدولم میخونم و تو کلاسم به شکل زیر فراخوانیش می کنم :


public M_DBDataContext MDB = new M_DBDataContext();
//################################ Mtype_Load #############################
public Array Load_Mtype()
{
return MDB.selMtype().ToArray();
}


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




mtype.DataSource = Cntl.Load_Mtype();
mtype.DataBind();

میخوام آی دی به عنوان ارزش آیتم و توضیحات به عنوان تکست آیتم قرار بگیرن ممنون میشم راهنمایی کنید

malloc
چهارشنبه 21 مرداد 1394, 00:00 صبح
من خودم با ado.net کد میزنم که خیلی با اینی که شما نوشتی توفیری نداره ..... موقعی که select میزنم حاصل رو میریزم توی یه دیتاتیبل ... بعد اون دیتا تیبل رو میندازم توی یه حلقه foreach و دونه دونه توی dropdown پرش میکنم

elahe471
چهارشنبه 21 مرداد 1394, 08:49 صبح
اون ToArray رو بزارید ToList بعد از بایند Datasource نام ستون های Text و Value رو معرفی کنید

mtype.DataTextField = "Title"; mtype.DataValueField = "ID";
mtype.DataBind();

adineh67
چهارشنبه 21 مرداد 1394, 09:31 صبح
اون ToArray رو بزارید ToList بعد از بایند Datasource نام ستون های Text و Value رو معرفی کنید


ممنونم از راهنماییتون لطف می کنید بگید این خط از کد رو به چه شکل تغییر بدم:



public Array Load_Mtype()

elahe471
چهارشنبه 21 مرداد 1394, 13:26 عصر
خروجی .ToList توی تین حالت میشه یه لیست به این شکل

List<selMtypeResult>

بنابراین تابع میشه

public List<selMtypeResult> Load_Mtype() {return MDB.selMtype().ToList();
}