PDA

View Full Version : پیدا کردن رکوردی خاص در یک جدول از دیتاست



bita_naz
پنج شنبه 15 آبان 1393, 23:47 عصر
سلام دوستان

من یک دیتاست دارم از نوع unTyped که یک جدول هم داره و اطلاعات جدول رو در یک دیتاگرید نمایش میدم
حالا چطور یک رکورد خاص رو در جدولم پیداکنم و کاری کنم که دیتاگرید فقط همون رکورد یا چند تا رکوردهای درخواست شده رو نمایش بده. مثلا اسامی مشابه
کلا منظورم منظورم نحوه جستجو در یک جدول دیتاست هست

باتشکر:قلب:

En_MK
جمعه 16 آبان 1393, 00:00 صبح
سوالتون ازنظر من گنگه:متفکر:
خوب مطمئنا شما برای رکوردهایی که میخواهید نمایش داده شوند شروطی دارند مثلا تما اسامی که با حرف a شروع میشن پس یه select می نویسید کعه در قسمت where چک میکنه ستونه مربوط به اسامی LIKE 'a%' باشند
بعد دیتاگرید با نتیجه این کوئری پر میشه

behnamgholipoor
جمعه 16 آبان 1393, 00:36 صبح
سوالتون رو واضح تر بیان کنید
ببین این کد مشکلتو حل میکنه

select * from tblname where field1 like '%"+textbox+"%'

bita_naz
جمعه 16 آبان 1393, 10:56 صبح
با تشکر از پاسخ شما

بطور مثال من از کد زیر برای جستجوی یک رکورد خاص بوسیله ID در جدولم استفاده میکنم

Dataset.Tables["table1"].Select("ID='1'")


ولی نتیجه ای رو در گرید نمایش نمیده
نمیدونم شاید مشکل از گرید و دیتا سورس و یا دیتاممبر اون باشه ولی اونها رو هم در پراپرتی گرید از اول ست کردم
بازم یادآوری میکنم که دیتاست من از نوع unTyprd هست. واطلاعاتش رو از یه فایل XML میخونه
در پروژههای قبلی که با Typed Dataset که به دیتابیس وصل بود کار میکردم این مشکل رو نداشتم چون دستورات SQL رو به دیتابیس میفرستادم و این مشکل رو نداشتم. ولی یه جستجو ساده در دیتاست و نمایشش در گرید پروژه ام رو لنگ کرده

بنظر خودم مشکل باید در گرید باشه چون اون دستور SQL رو که با مسج باکس چک کردم درسته و جدول فیلتر شده

لطفا راهنمایی بفرمایید:قلب:

danialafshari
جمعه 16 آبان 1393, 11:13 صبح
با سلام
دیتاست رو به BindingSource وصل کنید و دیتاسورس datagrid هم برابر BindingSource قرار دهید
بعد می تونید از متد Filter درون BindingSource جستجوتون رو انجام بدید
امیدوارم متوجه شده باشید
موفق باشید

bita_naz
جمعه 16 آبان 1393, 11:39 صبح
با سلام
دیتاست رو به BindingSource وصل کنید و دیتاسورس datagrid هم برابر BindingSource قرار دهید
بعد می تونید از متد Filter درون BindingSource جستجوتون رو انجام بدید
امیدوارم متوجه شده باشید
موفق باشید

با تشکر از جواب صحیح شما
راستش این کار رو قبلا با دیتاست های از نوع Typed که به دیتابیس وصلن انجام داده بودم ولی فکر نمیکردم دیتاست unTyped هم همین خصوصیت رو داشته باشه
و ای کاش می فهمیدم چرا فیلتر صحیح جدول بدون استفاده از Binding Source جواب نمیده

مجددا بسیار متشکرم:قلب:

winner1
جمعه 16 آبان 1393, 11:53 صبح
int rowIndex = -1;
DataRow[] rows = this.objDataView.Table.Select(this.CurrentControl. Name.Substring(3) + " = '" + this.CurrentControl.Text.Trim() + "'");
if (rows.Length > 0)
rowIndex = this.objDataView.Table.Rows.IndexOf(rows[0]);
if (rowIndex > -1)
this.objCurrencyManager.Position = rowIndex;
this.Fill();
this.objCurrencyManager_PositionChanged(new object(), new EventArgs());