PDA

View Full Version : سوال: عدم نمایش پرانتز در linq to sql



mahsa.n
پنج شنبه 04 شهریور 1389, 21:38 عصر
سلام به دوستان

من از این دستور linq to sql برای نمایش اطلاعات استفاده میکنم



var q=from k in db.tables select new {k.id,k.name}
dropdownlist1.datasource=q;
dropdownlist1.databind();



اطلاعات این جوری نماش داده میشد



{id=1,name=m{

مشکل من اینه که وقتی اطلاعات رو در dropdownlist1 نمایش میده دور هر خط{}
قرار میده و کلمه id و name رو هم مینویسه
حالا چیکار کنم که این دو اتفاق نیفته؟
مرسی

Behrouz_Rad
پنج شنبه 04 شهریور 1389, 22:04 عصر
وقتی از Anonymous Types استفاده می کنی، باید برای اون، Property در عبارت جلوی new تعریف کنی. در غیر اینصورت به ازای هر رکوردی که برگشت داده میشه، به طور ضمنی متد ToString اش فراخوانی میشه. ضمن اینکه باید خصیصه های DataTextField و DataValueField کنترل DropDownList رو هم مقداردهی کنی:



var q=from k in db.tables
select new {id=k.id,name=k.name};
DropDownList1.DataSource=q;
DropDownList1.DataTextField = "name";
DropDownList1.DataValueField = "id";
DropDownList1.DataBind();

موفق باشید.

mahsa.n
پنج شنبه 04 شهریور 1389, 22:41 عصر
حالا اگر مثلا k.firstnameو ;k.lastname
داشته باشم در قسمت textfield چی بنوسم؟

Behrouz_Rad
پنج شنبه 04 شهریور 1389, 22:50 عصر
مهم اسم Property هاست. نام فیلدهای جدول مهم نیست. من id و name دادم. شما zizigooloo و googooli بده.

موفق باشید.

mahsa.n
پنج شنبه 04 شهریور 1389, 22:55 عصر
نه منظورم اینه که به این طریق بنویسم؟
name=k.firsname,family=k.lastname



dropdownliast1.datatextfied="name"+"family"

Vahid_moghaddam
پنج شنبه 04 شهریور 1389, 23:23 عصر
یه property در query ایجاد کنید:

.... new { FullName=firstname+lastname, ....}

mahsa.n
پنج شنبه 04 شهریور 1389, 23:36 عصر
شرمنده من اینقدر سوال میپرسم
حالا چه طوری میتونم بین اسم و فامیل خط تیره بگذارم؟

Vahid_moghaddam
پنج شنبه 04 شهریور 1389, 23:45 عصر
string1+"-"+string2