こんにちは皆さんご存知のように、誰かが列ヘッダーをクリックするとソートされます。ただし、ソート後に何かを行うことは可能ですか。昇順で並べ替えると、msgbox が昇順で並べ替えると表示されます。それがどのデータグリッドイベントか知りたいです。可能であれば、列がソートされているかどうかを確認する方法のヒントはありますか? 私はこのリンクを見つけましたが、実際には Web フォームです。Windows フォームでそれを行う必要がありますか?
質問する
16978 次
2 に答える
3
Private Sub dataGridView1_ColumnHeaderMouseClick(ByVal sender As Object, _
ByVal e As DataGridViewCellMouseEventArgs) _
Handles dataGridView1.ColumnHeaderMouseClick
Dim newColumn As DataGridViewColumn = _
dataGridView1.Columns(e.ColumnIndex)
Dim oldColumn As DataGridViewColumn = dataGridView1.SortedColumn
Dim direction As ListSortDirection
' If oldColumn is null, then the DataGridView is not currently sorted.
If oldColumn IsNot Nothing Then
' Sort the same column again, reversing the SortOrder.
If oldColumn Is newColumn AndAlso dataGridView1.SortOrder = _
SortOrder.Ascending Then
direction = ListSortDirection.Descending
' Msgbox HERE
Else
' Sort a new column and remove the old SortGlyph.
direction = ListSortDirection.Ascending
oldColumn.HeaderCell.SortGlyphDirection = SortOrder.None
' Msgbox HERE
End If
Else
direction = ListSortDirection.Ascending
' Msgbox HERE
End If
' Sort the selected column.
dataGridView1.Sort(newColumn, direction)
If direction = ListSortDirection.Ascending Then
newColumn.HeaderCell.SortGlyphDirection = SortOrder.Ascending
Else
newColumn.HeaderCell.SortGlyphDirection = SortOrder.Descending
End If
End Sub
Private Sub dataGridView1_DataBindingComplete(ByVal sender As Object, _
ByVal e As DataGridViewBindingCompleteEventArgs) _
Handles dataGridView1.DataBindingComplete
' Put each of the columns into programmatic sort mode.
For Each column As DataGridViewColumn In dataGridView1.Columns
column.SortMode = DataGridViewColumnSortMode.Programmatic
Next
End Sub
出典:MSDN
于 2013-07-09T01:01:24.500 に答える
0
If _Data_Table.Rows.Count > 0 Then
datagridview.DataSource = _Data_Table
datagridview.Sort(grd_Cadastro.Columns("Your column name"), System.ComponentModel.ListSortDirection.Descending)
datagridview.AutoResizeColumns()
datagridview.ClearSelection()
Else
datagridview.DataSource = Nothing
End If
于 2013-12-10T13:40:02.987 に答える