PDA

View Full Version : سوال: فیلتر کردن . linq



علی فتحی
جمعه 15 شهریور 1392, 23:28 عصر
var db = new LINQDataContext();



dataGridViewX4.DataSource = db.kartexes.Where(c => c.Kar.Substring(0, textBoxX17.Text.Length) == textBoxX17.Text).Select(c => c);

من این کد رو برای ثبت سند نوشتم ولی وقتی عدد 1 رودر تکس باک 17 مینویسم
عدد 11 و 12 و13 و ... رو هم پیدا میکنه.
چگونه میتونم فقط عدد 11 یا 1 یا بطور خلاصه خود عدد داخل تکس باکس رو جستجو کنم
این سوال رو دیروز پرسیدم لینکو حذف کرده بودید خواهشا حذف نفرمایید

khokhan
جمعه 15 شهریور 1392, 23:40 عصر
var db = new LINQDataContext();



dataGridViewX4.DataSource = db.kartexes.Where(c => c.Kar.Substring(0, textBoxX17.Text.Length) == textBoxX17.Text).Select(c => c);

من این کد رو برای ثبت سند نوشتم ولی وقتی عدد 1 رودر تکس باک 17 مینویسم
عدد 11 و 12 و13 و ... رو هم پیدا میکنه.
چگونه میتونم فقط عدد 11 یا 1 یا بطور خلاصه خود عدد داخل تکس باکس رو جستجو کنم
این سوال رو دیروز پرسیدم لینکو حذف کرده بودید خواهشا حذف نفرمایید


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


DataClasses1DataContext dc = new DataClasses1DataContext();
var q =
(from a in dc.GetTable<k_info>()
where a.k_name.Contains(textBox1.Text)
select a).ToList();
dataGridView1.DataSource = q;

R_khaleghi
جمعه 15 شهریور 1392, 23:57 عصر
سلام این کد هم امتحان کن خودم هم از این استفاده کردم جواب داده:

linqDataContext DB= new LinqDataContext();

// داخل رویداد TextChanged تکس باکس جستجو
var Query= from t in db.TableName
Where T.FieldName == txtSearch.text
select t;
datagridview1.datasource = Query;

علی فتحی
شنبه 16 شهریور 1392, 00:03 صبح
برای جستجو در دیتاگرید چگونه است . عینا میشه کد خودمو اصلا کنی؟

علی فتحی
شنبه 16 شهریور 1392, 00:28 صبح
نشد اختار میده
var db = new LINQDataContext();



dataGridViewX4.DataSource = db.kartexes.Where(Kar.Contains(textBoxX17.Text.Len gth) = textBoxX17.Text).Select();


kar رو نمیشناسه زیرش قرمز میشه

MohammadHadi2031
شنبه 16 شهریور 1392, 06:16 صبح
این تغییرو اعمال کنید

dataGridViewX4.DataSource = db.kartexes.Where(Kar=> Kar.Contains(textBoxX17.Text.Length) = textBoxX17.Text).Select();

kar=>

MohammadHadi2031
یک شنبه 17 شهریور 1392, 07:24 صبح
شما یک چیز دیگر هم اشتباه نوشتید
Kar=> Kar.Contains(textBoxX17.Text.Length) = textBoxX17.Text

Contains خودش یک مقدار از نوع boolean برمیگرداند که نمی شه این مقدارو با یک مقدار از نوع متن مقایسه کرد

tooraj_azizi_1035
یک شنبه 17 شهریور 1392, 11:37 صبح
k => k.Equals(textBoxX17.Text)

علی فتحی
سه شنبه 19 شهریور 1392, 11:55 صبح
من توی جدول شماره کارتکسو از نوع متن nchur قرار دادم ولی بازم توی جستجو تمام کدهای شمارو هم اعمال کردم جستجوی تمام ارقام رو نشون میده نه یکی . کارتکس 1 و 11 .12و.. توی یک دیتاگرید میریزه
لطفا کمک بفرمایید

hamid_0341
سه شنبه 19 شهریور 1392, 12:19 عصر
Kar تو به استرینگ تبدیل کن ! ببین درست میشه ؟!
dataGridViewX4.DataSource = db.kartexes.Where(Kar.tostring().Contains(textBoxX 17.Text.Length) = textBoxX17.Text).Select();