DataGridView排序问题

时间:2014-08-19 05:15:36

标签: .net vb.net sorting datagridview

所以我有一个名为dtgQue的数据网格视图,这里是我的列的属性。

'Setting the Properties for the Due Date
QueDueDate.Name = "DueDate"
QueDueDate.ValueType = GetType(Date)
QueDueDate.HeaderText = "Due Date"
QueDueDate.CellTemplate = New DataGridViewTextBoxCell

然后在我向该列添加一堆行之后,然后执行

dtgQue.Sort(dtgQue.Columns(3), System.ComponentModel.ListSortDirection.Descending)

但是不是将它排序100%正确,例如这里是按照排序顺序排列的一组日期。 2014年9月8日,9/2/2014 /,2014年9月15日,2014年10月1日,你看到因为某些原因它在9/8之后推出9/2是不对的。

1 个答案:

答案 0 :(得分:1)

我猜你应该使用:

QueDueDate.ValueType = GetType(string)
QueDueDate.CellTemplate = New DataGridViewTextBoxCell

编写自定义排序函数,每次DataGridViewTextBoxCell.Value将从String数据类型解析为Date数据类型,然后将其用于比较。

或者:

QueDueDate.ValueType = GetType(Date)
QueDueDate.CellTemplate = New CalendarCell

在这里查看CalendarCell

如果数据属于合适的类型,则需要正确工作/排序。

希望它有所帮助!