PDA

View Full Version : سرچ در LINQ !



Reza mob
شنبه 07 شهریور 1388, 03:11 صبح
من می خوام یه دیتا گرید داشته باشم که با یه تکست باکس مثلا نام یه استان رو سرچ کنم بعد توی دیتا گرید اون اطلاعاتی رو که توی تکست باکس نوشتم رو بیاره البته همه اینها توسط linq باشه کلا سرچ به وسیله linq رو میخوام ؟
ممنونم!

mn_zandy63
شنبه 07 شهریور 1388, 06:09 صبح
شما یه دونه DataContext داری فرض کنیم اسم متغیرت db باشه.
و نام استان مورد نظرت هم از textBox ریختی داخل یک متغییر به نام pName.

برای فیلتر کردن یا به عبارتی جستجو کردن داخل یک جدول خاص به یکی از دو صورت زیر عمل میکنی:


string pName = 'نام استان';

var result = from tblName in db.tableName
where tblName.provinceName == pName
select tblName;

var result = db.tableName.where(t=>t.provinceName == pName);


در هر دو حالت داخل متغیر result نتیجه جستجو قرار داره.
که میتونی به دیتاگرید بایندش کنی و یا فیلتر های بیشتر یا مرتب سازی و .... روش انجام بدی.
موفق باشی.

Reza mob
شنبه 07 شهریور 1388, 11:11 صبح
سلام خیلی متشکر ولی تا اینجا شو بلد بودم فقط اون متغیره رو هرکاریش می کنم نمیشه توی دیتا گرید نمایشش بدم حلقه هم گذاشتم ولی نشد اگه میشه اونو توضیح بدید ممنونم ؟

Reza mob
شنبه 07 شهریور 1388, 20:51 عصر
کسی نیست مارو راهنمایی کنه ؟

k_m
شنبه 07 شهریور 1388, 22:25 عصر
با سلام
ببین متغیری که الان داری از نوع IQueryable هست که قاعدتا نمیشه اونو بایند کرد . برای اینکه تبدیل به یک Collectionبشه می تونی از تابع ToArray استفاده کنی . به صورت زیر
result.ToArray()
اون وقت می تونی اونو بایند کنی یا توی Item هاش حرکت کنی.

saeid69
سه شنبه 21 مهر 1388, 13:39 عصر
فکر میکنم این به دردت بخوره



var result = from tblName in db.tableName
where tblName.provinceName.StartsWith(textbox1.text)
select tblName;

datagridview1.datasource=result