PDA

View Full Version : فیلتر دیتا گرید ویو



m512m512m
یک شنبه 16 آذر 1393, 22:41 عصر
برای فیلتر کردن دیتا گرید ویو چی کد هست ضمناً این دیتا گرید ویو به دیتابیس وصل نیست بلکه از یک نام ستون برخوردار چطور فیلتر کنم.

mojtabamalaekeh
دوشنبه 17 آذر 1393, 00:29 صبح
با حلقه ی تکرار، ردیف هایی رو که شرط توشون برقرار نیست مخفی کن Visible = False کن
یا حالا که به دیتابیس وصل نیست خودت بهش دیتاسورس بده. تنها محدودیت این میشه که هرجا نوشتی dgv.Rows باید بنویسی dgv.DataSource.Rows
این هم روش دیتاسورس ساختن برا گرید و فیلتر کردن و حذف فیلتر:

Private Sub SetDataSource()
Dim dt As New DataTable
For Each dtc As DataGridViewColumn In DataGridView1.Columns
dt.Columns.Add(dtc.Name)
dtc.DataPropertyName = dtc.Name
Next
DataGridView1.DataSource = dt
End Sub

Private Sub SetFilter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SetFilter.Click
Dim dt As DataTable = DataGridView1.DataSource
dt.DefaultView.RowFilter = "your filter expression"
DataGridView1.DataSource = dt
End Sub

Private Sub RemoveFilter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RemoveFilter.Click
Dim dt As DataTable = DataGridView1.DataSource
dt.DefaultView.RowFilter = ""
DataGridView1.DataSource = dt
End Sub
روال SetDataSource رو موقعی کال کن که ستون های گرید مشخص شده باشن. چون فیلدهای دیتاتیبل از روی ستون های گرید ساخته میشه.

Hossis
دوشنبه 17 آذر 1393, 08:35 صبح
خیلی جالب بود، استفاده کردم
منتها به جای دیتاسورس گرید می تونیم از جداول دیتاست هم استفاده کنیم یعنی همون جدولی که دیتاگرید به اون جدول در دیتاست وصل شده