PDA

View Full Version : مبتدی: چگونه با LINQ در dataGridView مقدار خاصی را جستجو کنیم.



sayanpro
یک شنبه 07 دی 1393, 15:17 عصر
سلام دوستان گرامی.
فرض کنید که یک data grid view داریم که شامل چند سطر و چند ستون است که حاوی یکسری اطلاعات است.
من میخواهم شماره ردیف اون سطری که شامل اطلاعات مورد نظر من هست را بدست بیارم ولی ناموفقم .

در ضمن من این کد رو هم استفاده کرده ام ولی پیغام خطا میدهد.


int index = (dgv.Rows.Cast<DataGridViewRow>()
.Where(r => r.Cells[0].Value == SearchForThis)
.Select(r => r.Index)).First();
Or with Query Syntax:


int index = (from r in dgv.Rows.Cast<DataGridViewRow>()
where r.Cells[0].Value == SearchForThis
select r.Index).First();


ممنون میشوم راهنمایی فرمائید.

parvizwpf
یک شنبه 07 دی 1393, 15:22 عصر
شما بهتره برید داخل آبجکت منبع که به دیتا گرید دادید سرچ کنید و ایندکس سطر رو بدست بیارید. کد خودتون مشکلش چیه؟ ارور داره؟

sayanpro
یک شنبه 07 دی 1393, 15:38 عصر
منبعی که من دارم فرض کنید نام شخص، و وضعیت فعال یا غیر فعال بودن شخص رو در خودش نگه داشته (یک list)
حالا میخواهم براساس تک تک نام آدم ها در list ردیف مربوطه در data grid که اسم کاربران در خودشه نگه داشته پیدا کنم.
بعد که شماره ردیف پیدا کردم یک کارهایی رو ردیف مربوطه در دیتا گرید انجام بدم.

پیغام خطا هم : {"Object reference not set to an instance of an object."}
هست.

SabaSabouhi
دوشنبه 08 دی 1393, 13:07 عصر
سلام
روش شما اشتباه هست، تو کنترل نباید دنبال یک مقدار بگردین.
شما توی DataSource مقدارتون رو پیدا کنید. و با استفاده از توابعی مانند IndexOf شماره ردیف رو پیدا کنید.

صبا صبوحی