我正在开发一个将VB6应用程序转换为VB.NET的项目。它是第一步,通过Visual Basic 2008进行转换。我用DataGridViews替换了FlexGrids,遇到了一些问题,我很难找到答案。
一个问题是FlexGrid上的排序有很多选项。我在DataGridView中看到的唯一选项是:
System.ComponentModel.ListSortDirection.Ascending
System.ComponentModel.ListSortDirection.Descending
我需要区分大小写的排序。我到处寻找,找不到我需要的东西。甚至很难找到上面的代码。非常感谢任何帮助。
编辑:网格以编程方式填充。
答案 0 :(得分:3)
如果您手动填充网格,那么ListSortDirection.Ascending
应该就是您所需要的。
例如,给定以下Example
项列表(任何顺序):
Dim examples = New List(Of Example)() From { _
New Example() With { _
Key .Bar = "Abcd", _
Key .Foo = "3" _
}, _
New Example() With { _
Key .Bar = "ABcd", _
Key .Foo = "4" _
}, _
New Example() With { _
Key .Bar = "aBcd", _
Key .Foo = "2" _
}, _
New Example() With { _
Key .Bar = "abcd", _
Key .Foo = "1" _
} _
}
使用以下设置:
Dim col1 As New DataGridViewTextBoxColumn()
Dim col2 As New DataGridViewTextBoxColumn()
col1.Name = "Foo"
col2.Name = "Bar"
col1.SortMode = DataGridViewColumnSortMode.NotSortable
col2.SortMode = DataGridViewColumnSortMode.Programmatic
Me.dataGridView1.Columns.Add(col1)
Me.dataGridView1.Columns.Add(col2)
For Each example As Example In examples
Me.dataGridView1.Rows.Add(example.Foo, example.Bar)
Next
Me.dataGridView1.Sort(col2, ListSortDirection.Ascending)
您应始终将结果视为: