我有一个包含日期的列,当我点击列标题时,该列按数字排序而不是按日期排序。如何按日期排序?日期格式为dd/mm/yy。
示例(从旧到新排序):
10/12/08 <-- 十二月 10/09/08 <-- 九月 12/12/08 <-- 十二月
非常感谢
示例(从旧到新排序):
10/12/08 <-- 十二月 10/09/08 <-- 九月 12/12/08 <-- 十二月
非常感谢
源代码是一个数据表格吗?如果是的话,您可能需要指定所涉及的列的类型为DateTime:
myDataTable.Columns["ColumnName"].DataType = System.Type.GetType("System.Date");
希望这可以帮到你!
试试这个,它对我有效。
dataGridView1.Columns[colNum].DefaultCellStyle.Format = "d";
将colNum
替换为实际列号。 d
表示短日期。我还有军事时间,所以我不得不添加HH:mm:ss
来表示时间块。
你应该使用单元格格式
dgv.Rows[rowId].Cells["colCreated"].Style.Format = "HH:mm :: dd/MM/yyyy";
或者对于整个列使用类似的样式(请参见DefaultCellStyle)
当数据网格未绑定到数据源且数据网格逐行填充时,以下方法适用于我:
//Init
dataGridView_records.Columns[0].DefaultCellStyle.Format = "dd/MM/yy HH:mm:ss";
DateTime date = DateTime.ParseExact((String)drs["data"], "dd/MM/yy HH:mm:ss", CultureInfo.InvariantCulture);
object[] gdr = new object[1] { date };//add the other columns data here
dataGridView_records.Rows.Add(gdr);