PDA

View Full Version : جستجو در datagrid بدون استفاده از دستورsql



saeednadery
شنبه 30 شهریور 1387, 08:58 صبح
با سلام
چگونه مي توان در datagrid جستجو را طوري انجام داد كه با text_change عمل نمايد .
بدون استفاده از دستور sql . زيرا اگر بخواهم از دستور sql استفاده نمايم بايد مدام به سرور وصل شوم . در ضمن سرعت جستجو هم خوب باشد .
با تشكر

mostafaaa
شنبه 30 شهریور 1387, 10:15 صبح
میتونی از متد DefaultView.RowFilter استفاده کنی.
به مثال توجه کن

Dim DT As New DataTable
DT.Columns.Add("F1")
For i As Integer = 0 To 60
DT.Rows.Add()
DT.Rows(i).Item("F1") = i + 10
Next
DT.DefaultView.RowFilter = "F1>20"
Me.DataGridView1.DataSource = DT
Me.DataGridView1.DataMember = DT.TableName

saeednadery
شنبه 30 شهریور 1387, 12:08 عصر
با تشكر از آقا مصطفي گل
اين دستور خوب بود و جواب داد . اگر بخواهم زماني كه مثلا 2 را فشار مي دهم همه 2 ها بيايد و همين طور با فشار هر كليد اطلاعات متناظر با textbox بيايدچه كار بايد بكنم . مثلا زماني كه 214 زده مي شود همه ركوردهائي كه با 214 شروع مي شود نمايش داده شود .

saeednadery
شنبه 30 شهریور 1387, 12:43 عصر
با تشكر فراوان از آقا مصطفي
مشكلم با قرار دادن كد زير به صورت كامل حل شد
DT.DefaultView.RowFilter = "amvalno like '" & TextBox1.Text& "%'"

saeednadery
شنبه 30 شهریور 1387, 13:39 عصر
آقا مصطفي
چطور مي توانم بر اساس اطلاعات دو فيلد و بدون استفاده از دستور sql عمل جستجو را انجام بدهم .

mostafaaa
شنبه 30 شهریور 1387, 19:52 عصر
میتونی از اوپراتور AND استفاده کنی

DT.DefaultView.RowFilter = "F1>20 AND F2>50"

bardia goharbin
شنبه 30 شهریور 1387, 20:02 عصر
همونطور که مصطفي گفت از اوپراتور And يا Or ميتونيد استفاده کنيد. بستگي به کار شما داره. اينم يه نمونه ديگه

dv.RowFilter = "(Name Like '*" & textbox1.text & "*') or (Family Like '*" & textbox2.text & "*')"