Net-informations.com
SiteMap  | About    

DataGridView Sorting/Filtering in VB.NET

The DataGridView control provides a customizable table for displaying data. You can extend the DataGridView control in a number of ways to build custom behaviors into your applications. A DataView provides a means to filter and sort data within a DataTable. The following vb.net program shows how to filter and sort a DataGridView by using a DataView Object.

datgridview filter sort vb.net

How to sort Datagridview - vb.net

The DataGridView control in VB.Net provides automatic sorting, so that you can sort any column in the datagridview control. You can sort the data in ascending or descending order based on the contents of the specified column of sort() method.

DataGridView1.Sort(DataGridView1.Columns(1), ListSortDirection.Ascending)

datgridview sort vb.net

In the above vb.net code , datagridview sort the title column.

How to filter Datagridview - vb.net

You can use different methods to filter datagridview column . You can sort data while fetching it from database using order by clause in SQL statement or you can use the following method.

Dim dv As DataView dv = New DataView(ds.Tables(0), "type = 'business' ", "type Desc", DataViewRowState.CurrentRows) DataGridView1.DataSource = dv

datgridview filter vb.net

In the above vb.net code, datagridview is filter the column Type and the column value is Business.




Imports System.Data.SqlClient
Imports System.ComponentModel
Public Class Form1
    Dim ds As New DataSet
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim connectionString As String = "Data Source=.;Initial Catalog=pubs;Integrated Security=True"
        Dim sql As String = "SELECT title_id,title,type,pub_id FROM Titles"
        Dim connection As New SqlConnection(connectionString)
        Dim dataadapter As New SqlDataAdapter(sql, connection)
        connection.Open()
        dataadapter.Fill(ds, "Titles_table")
        connection.Close()

        DataGridView1.DataSource = ds.Tables(0)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim dv As DataView
        dv = New DataView(ds.Tables(0), "type = 'business' ", "type Desc", DataViewRowState.CurrentRows)
        DataGridView1.DataSource = dv
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        DataGridView1.Sort(DataGridView1.Columns(1), ListSortDirection.Ascending)
    End Sub
End Class

 VB.NET DataGridView - Related Contents