PDA

View Full Version : سوال: find در datagridview



amin_mehranfar2000
یک شنبه 26 مهر 1388, 13:13 عصر
سلام دوستان میخواستم بدونم میخواستم میشود برای find یک data base وقتی ما می خواهیم کسانی که اوله نام خانوادگیشون یک حرفه خواص بود پیدا کنیم و داخل datagridview نشون بدیم باید چه کار کنیم میشود کمکم کنید؟

sysman_20
یک شنبه 26 مهر 1388, 17:54 عصر
ببین این به دردت می خوره؟
http://barnamenevis.org/forum/showthread.php?t=175758&highlight=%D8%AC%D8%B3%D8%AA%D8%AC%D9%88+dataGrid

amin_mehranfar2000
یک شنبه 26 مهر 1388, 21:18 عصر
دوستان گرامی میخواهم مثلان حرف م در textboxt می نویسم نام خوانوادگیهای در datagridview نشون اولش م باشد

Reza_Yarahmadi
دوشنبه 27 مهر 1388, 01:01 صبح
اگه هر بار اطلاعات از بانک خونده میشه میتونی از عملگر % توی دستور SQL استفاده کنی

"Select * From TableName Where FiledName Like " + textBox1.Text + "%"

sd.CSharpProgrammer
دوشنبه 27 مهر 1388, 01:03 صبح
سلام خدمت دوستان

دوست عزيز كافيه يك ديتاست عمومي در فرم تعريف كني و در رويداد Form_Load اون رو پر كني. بعدش ميتوني با استفاده از كلاس DataView اطلاعاتت رو فيلتر كني. استفاده از اين كلاس آسونه :



DataView dv = new DataView(dataSet.Tables[0]);
dv.RowFilter = "FieldName LIKE '" + textBox1.text + "*'";
dataGridView1.DataSource = dv;



فرض كن يك ديتاست عمومي توي فرمت تعريف كردي كه وقتي فرم لود ميشه جدول مورد نظر رو از ديتابيس تو حافظه لود ميكنه. كلاس DataView براي فيلتر كردن يا جستجوي ركوردها استفاده ميشه. با تعريف يك شئ از كلاس DataView و تحويل جدول لود شده به اين شئ ميتوني با استفاده از خاصيت RowFilter ركوردها رو فيلتر كني. خاصيت RowFilter دقيقاً مثل دستورات اسكيوال كار ميكنه. يعني ميتوني مثل عبارات شرطي WHERE كه تو اسكيوال استفاده ميشن با اين خاصيت رفتار كني.
تو قسمت بالا بجاي FieldName اسم فيلد يا ستون مورد نظرت رو بنويس و با نوشن كلمه LIKE مشخص ميكني كه حاصل كوئري بايد ركوردهايي باشند كه متن اولشون همون متن textBox1 باشه. و در آخر شئ DataView كه ساختي رو به عنوان منبع داده ها به ديتاگريد متصل (bind) ميكني.
در ضمن دستورات بالا رو در رويداد KeyPress يا TextChanged مربوط به تكست باكست بنويس تا تغيير متن در اين كنترل ركوردها رو فيلتر كنه و نتايج مورد نظر رو نشون بده.


موفق باشي