PDA

View Full Version : چطوری باید RowFilter رو لغو کرد؟



Developer Programmer
شنبه 19 بهمن 1387, 10:14 صبح
من یه DataGridView دارم که به اینصورت بایندش کردم



Private Sub frmTRX_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

myConnection.Open()
myDataAdapter.Fill(myDataSet, "Employees")

With DataGridView1
.DataBindings.Clear()
.DataSource = myDataSet
.DataMember = "Employees"
End With
End Sub
حالا میخوام هر وقت که کاربر در TextBox چیزی وارد کرد، Grid رو بر اساس اون فیلتر کنم


Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

Dim dv As DataView = New DataView(myDataSet.Tables(0))

If TextBox1.Text.Trim() = String.Empty Then
DataGridView1.DataSource = myDataSet
Else
dv.RowFilter = "FirstName LIKE '%" + TextBox1.Text + "%'"
DataGridView1.DataSource = dv
End If

End Sub
اما یه مشکل کوچولو داره، من میخوام هر وقت که محتوای TextBox خالی شد، فیلتر کلا لغو بشه.. واسه همین می نویسم


If TextBox1.Text.Trim() = String.Empty Then
DataGridView1.DataSource = myDataSet
اما درست کار نمیکنه... چیکارش باید بکنم؟

rostamkhani
شنبه 19 بهمن 1387, 18:07 عصر
سلام


RowFilter="";

jafarnia
یک شنبه 20 بهمن 1387, 06:28 صبح
سلام


Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text.Trim() = String.Empty Then
myDataSet.Tables(0).DefaultView.RowFilter = ""
DataGridView1.DataSource = myDataSet.Tables(0).DefaultView
Else
myDataSet.Tables(0).DefaultView.RowFilter = "FirstName LIKE '%" + TextBox1.Text + "%'"
DataGridView1.DataSource = myDataSet.Tables(0).DefaultView
End If
End Sub


يكي زيبايي منظره را ميبيند و ديگري كثيفي پنجره را،اين شما هستيد كه انتخاب ميكنيد چه چيز را ببينيد و به چه بينديشيد.

Developer Programmer
یک شنبه 20 بهمن 1387, 10:00 صبح
DataGridView1.DataSource = myDataSet.Tables(0).DefaultView
وقتی یه جا گرید رو به DataSet وصل میکنم و یه جای دیگه به DefaultView ... مشکلی در طول برنامه ایجاد نمیکنه؟!

jafarnia
دوشنبه 21 بهمن 1387, 18:48 عصر
وقتی یه جا گرید رو به DataSet وصل میکنم و یه جای دیگه به DefaultView ... مشکلی در طول برنامه ایجاد نمیکنه؟!


ميشه گفت كه DefaultView هم همان Table شماست كه فقط اطلاعات اون فيلتر شده البته در مثال شما. پس هيچ اشكالي پيش نمياد. چون هردو از نطر نوع فيلدها يك پيكر بندي دارند و فقط ركوردهايي كه بر ميگردونند متفاوت با هم ديگست. و توضيحات ديگه كه ........

babak62
شنبه 26 بهمن 1387, 13:41 عصر
dv.rowfilter=nothing

ممنون میشم اگر برات مفید بود،تشکر بگذاری