PDA

View Full Version : سوال: فیلتر کردن با استفاده از BindingSource.Filter



m_azari16
چهارشنبه 06 مرداد 1389, 22:15 عصر
سلام کسی می دونه چطوری میشه با
BindingSource.Filter چند تا از فیلد ها رو هم زمان فیلتر کرد مثلا فیلد نام با فیلد نام خانوادگی
اگه کسی راه دیگه ای سراغ داره بگه

ricky22
چهارشنبه 06 مرداد 1389, 22:44 عصر
Dim sb As New StringBuilder()
Dim t As DataTable = New MyDb.MyDataTable()
For Each col As DataColumn In t.Columns
If col.DataType = GetType(System.String) Then
If sb.Length > 0 Then
sb.Append(" OR ")
End If
sb.Append(col.ColumnName)
sb.Append(" LIKE '%")
sb.Append(filterTextBox.Text)
sb.Append("%'")
End If
bindingSource1.Filter = sb.ToString()
Next

m_azari16
پنج شنبه 07 مرداد 1389, 01:35 صبح
Dim sb As New StringBuilder()

Dim t As DataTable = New MyDb.MyDataTable()
For Each col As DataColumn In t.Columns
If col.DataType = GetType(System.String) Then
If sb.Length > 0 Then
sb.Append(" OR ")
End If
sb.Append(col.ColumnName)
sb.Append(" LIKE '%")
sb.Append(filterTextBox.Text)
sb.Append("%'")
End If
bindingSource1.Filter = sb.ToString()
Next



میشه توضیح بدید

ashkan209
پنج شنبه 07 مرداد 1389, 07:08 صبح
Dim sb As New StringBuilder()
Dim t As DataTable = New MyDb.MyDataTable()
For Each col As DataColumn In t.Columns
If col.DataType = GetType(System.String) Then
If sb.Length > 0 Then
sb.Append(" OR ")
End If
sb.Append(col.ColumnName)
sb.Append(" LIKE '%")
sb.Append(filterTextBox.Text)
sb.Append("%'")
End If
bindingSource1.Filter = sb.ToString()
Next




کد قشنگی بود

blackcats
پنج شنبه 07 مرداد 1389, 21:55 عصر
آیا میشود dataset رو دوباره فیلتر کرد.
من میخوام در چندین مرحله Select کنم مثلا یکبار بر حسب تاریخ بعد مقادیر بزگتر از 20 و .........
نمیخوام همش توی اون select اول باشه میخوام تیکه تیکه این اتفاق بیفته.

ricky22
پنج شنبه 07 مرداد 1389, 22:43 عصر
Cross join کنید

blackcats
پنج شنبه 07 مرداد 1389, 23:33 عصر
اولا اینکه خوش تیپ شدی توی عکس جدیدت(البته خوش تیپ بودی).
دوما اگر sample داری در مورد این موضوع ممنون میشم بزاری .
سوما من از این روش استفاده کردم یعنی تو اینترنت پیدا کردم بدرد میخوره؟:
Dim connectionstring As String
Dim dbconnection As OleDbConnection
Dim queryString As String
Dim data As New DataSet
Dim data2 As New DataSet
Dim dataAdapter As OleDbDataAdapter
Dim table As DataTable
connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=E:\ASP.NET\data\amir.mdb"
queryString = "SELECT * FROM amir"
dbconnection = New OleDbConnection(connectionstring)
dataAdapter = New OleDbDataAdapter(queryString, dbconnection)
dataAdapter.Fill(data, "amir")
table = data.Tables("amir")
Dim properFAQs As DataView = data.Tables("amir").DefaultView
properFAQs.RowFilter = "name like '%amir%'"
properFAQs.RowFilter = "age=20"
properFAQs.RowFilter = "key=1"
Me.GridView1.DataSource = properFAQs
GridView1.DataBind()
Me.TextBox1.Text = properFAQs(0).Item("name").ToString

ricky22
پنج شنبه 07 مرداد 1389, 23:39 عصر
اولا اینکه خوش تیپ شدی توی عکس جدیدت(البته خوش تیپ بودی).

:بامزه::بوس:



سوما من از این روش استفاده کردم یعنی تو اینترنت پیدا کردم بدرد میخوره: این روش برای شما عمل کرد؟ شرطها الحاق شدند؟
-----------
لطفا دقیق بفرمایید می خواید چی کار کنید بلکه بشه راح حل بهتری داد.

blackcats
پنج شنبه 07 مرداد 1389, 23:53 عصر
من میخوام توی database جستجو کنم اما خیلی حرفه ای و تعداد شرط هام زیاده.
یعنی اینکه مثلا اگر checkbox تیک داشت توی کل شعب جستجو کن از این تلریخ تا اون تاریخ بعد اکر textbox خالی بود ستون name رو همه رو بیار و 10 ها شرط دیگه!!!!!
به طور ساده میخوام چند بار بنا به شرایط select بگیرم از Database و database رو فیلتر کنم و به اون اطلاعاتی برسم که میخوام اما چون شرط ها زیاده نمیتونم همه رو در قالب یک دستور select بیارم.
امیدوارم گیج نشده باشی اگر متوجه نشدی بگو sample بزارم.
چند وقتی هست دوست دارم این موضوع رو یاد بگیرم.

blackcats
پنج شنبه 07 مرداد 1389, 23:54 عصر
راستی شرط ها دقیقا عمل کردن.

ricky22
جمعه 08 مرداد 1389, 00:06 صبح
خیر گیج نشدم! ;)
به کدی که در پست 2 گزاشتم نگاه کن می تونی به String builder شرط add کنی هر چند تا بخوای.
موفق باشی

blackcats
جمعه 08 مرداد 1389, 00:19 صبح
نظرت در مورد کدی که گذاشتم چیه فکر میکنی به درد میخوره.
البته هرچی باشه تا حدودی کاره منو راه انداخت.

ricky22
جمعه 08 مرداد 1389, 00:27 صبح
نظرت در مورد کدی که گذاشتم چیه فکر میکنی به درد میخوره.
البته هرچی باشه تا حدودی کاره منو راه انداخت.
اگر سورس خودتون رو با سورس من مقایسه کنید می بینید که هر دو یک کار رو انجام میدن.
فقط مزیت سورس من استفاده از کلاس String builder هست .
کد شما رشته ها الحاق می شن احتمالا و توصیه شده که به جاش از String builder استفاده کنید.
در کل هر 2 یکی هستند ;)
موفق باشید

blackcats
جمعه 08 مرداد 1389, 00:33 صبح
از راهنماییت ممنون بعضی مواقع مشکلات خیلی آسونه اما مدتی آدمو درگیر میکنه.
امروز یه چیز جدید یادگرفتیم دستت درد نکنه.
یا علی.
شب خوش.