Dim cn As SqlClient.SqlConnection
Sub Test1()
Dim cmd As New SqlClient.SqlCommand
Try
Dim strSQL As String = “stTest1”
cmd.Connection = cn
cmd.CommandText = strSQL
cmd.CommandType = CommandType.StoredProcedure
Dim da As New SqlClient.SqlDataAdapter
da.SelectCommand = cmd
Dim dt As New DataTable
dt.Locale = System.Globalization.CultureInfo.InvariantCulture
da.Fill(dt)
‘(1) 1行で設定する方法
‘Dim view As DataView = New DataView(dt, “Name1 like ‘%abc%'”, “Name1, Value1 DESC”, DataViewRowState.CurrentRows)
‘(2) 個別にプロパティーを設定する方法
dt.TableName = “Table1” ‘なぜかこれが必要
Dim view As DataView = New DataView
With view
.Table = dt
.AllowDelete = False
.AllowEdit = False
.AllowNew = False
.RowFilter = “Name1 like ‘%abc%'”
.RowStateFilter = DataViewRowState.CurrentRows
.Sort = “Name1, Value1 DESC” ‘Name1の昇順,Value1の降順にソート
End With
‘DataGridViewに表示
DataGridView1.DataSource = view
‘RowFilterを設定し直せばDataGridViewの内容も変わる
Finally
cmd.Dispose()
End Try
End Sub
参考:
DataView.RowFilter プロパティ (MSDN)

