PDA

View Full Version : سوال: BindingSource.filter



m_azari16
سه شنبه 02 شهریور 1389, 15:41 عصر
سلام
میشه از دستور BindingSource.filter مثل select چند تا ستون رو فیلتر کرد مثلا با آوردن and در بین متن مانند مثال زیر


BindingSource.filte="name='ali' and famil='ahmadi'"

ricky22
سه شنبه 02 شهریور 1389, 16:06 عصر
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
سه شنبه 02 شهریور 1389, 17:49 عصر
خوب اینکه or من منظورم and بود
آیا من درست متوجه نشدم؟
من اگه بخوام با or کار کنم که با همون دستور که نوشته بودم کار می کردم یعنی با همون میشه با or کار کرد و لی با and ارور می ده
در ضمن دستور شما برای تمام ستون ها یک مقدار رو در نظر میگیره اون هم مقدار تکست باکسه ولی من نمی خوام این کار رو بکنم

m_azari16
سه شنبه 02 شهریور 1389, 18:00 عصر
خیلی ممنون
من مشکلم حل شد یعنی با همون دستوری که نوشته بودم حل شد فقط قبلا کار من یه جایی مشکل داشت که ارور می داد و من فکر می کردم که دستور این قابلیت رو نداره ولی الان حل شد
فقط یه سؤال چرا شما این قدر مسئله رو سختش کردید این کار شما پیچیده است چون او رشته ای رو که باید بنویسیم رو شما با for ایجاد کردید تازه تمام ستون ها رو با یه مقدار که مقدار تکست باکسه فیلتر می کنه

nasim bahari
سه شنبه 02 شهریور 1389, 18:01 عصر
خوب اینکه or من منظورم and بود
آیا من درست متوجه نشدم؟
من اگه بخوام با or کار کنم که با همون دستور که نوشته بودم کار می کردم یعنی با همون میشه با or کار کرد و لی با and ارور می ده
در ضمن دستور شما برای تمام ستون ها یک مقدار رو در نظر میگیره اون هم مقدار تکست باکسه ولی من نمی خوام این کار رو بکنم

دوست عزیز

سلام

میشه تصویر پیام خطا رو UP کنی........

m_azari16
چهارشنبه 03 شهریور 1389, 17:52 عصر
خطای برنامه به خاطر اشتباه نوشتن string فیلتر بود