C# 按自定义格式的DateTime列对数据表进行排序
我有一个包含两列的数据表:第一列是城市名称,第二列是日期,我必须按日期升序排序 日期的格式是C# 按自定义格式的DateTime列对数据表进行排序,c#,visual-studio,C#,Visual Studio,我有一个包含两列的数据表:第一列是城市名称,第二列是日期,我必须按日期升序排序 日期的格式是MM/dd/yyyy,我使用 DataTable.DefaultView.Sort=“日期asc” 但我不得不将格式更改为dd/MM/yyyy,它停止了工作 要使用此自定义格式对表进行排序,我必须做什么 这是输入 普洛耶斯蒂2017年5月19日 Ploiesti 20/05/2017 Ploiesti 21/05/2017 西奈亚2017年5月21日 西奈亚2017年5月22日 Sinaia 2017年
MM/dd/yyyy
,我使用
DataTable.DefaultView.Sort=“日期asc”代码>
但我不得不将格式更改为dd/MM/yyyy
,它停止了工作
要使用此自定义格式对表进行排序,我必须做什么
这是输入
普洛耶斯蒂2017年5月19日
Ploiesti 20/05/2017
Ploiesti 21/05/2017
西奈亚2017年5月21日
西奈亚2017年5月22日
Sinaia 2017年5月23日
康斯坦塔2017年6月12日
康斯坦塔2017年6月13日
康斯坦塔2017年6月14日
康斯坦塔2017年6月15日
2017年6月20日前
巴尔萨纳2017年6月11日
巴尔萨纳2017年7月11日
博尔萨2017年5月22日
博尔萨2017年6月22日
博尔萨2017年7月22日
布拉索夫2017年5月30日
布拉索夫2017年6月30日
这是使用DataTable.DefaultView.Sort后的输出:
巴尔萨纳2017年6月11日
巴尔萨纳2017年7月11日
康斯坦塔2017年6月12日
康斯坦塔2017年6月13日
康斯坦塔2017年6月14日
康斯坦塔2017年6月15日
普洛耶斯蒂2017年5月19日
Ploiesti 20/05/2017
2017年6月20日前
Ploiesti 21/05/2017
西奈亚2017年5月21日
西奈亚2017年5月22日
博尔萨2017年5月22日
博尔萨2017年6月22日
博尔萨2017年7月22日
Sinaia 2017年5月23日
布拉索夫2017年5月30日
布拉索夫2017年6月30日
以下是我如何实现日期格式的
$('#CategoryTable').DataTable({
serverSide: true,
processing: true,
paging: true,
ajax: {
url: 'Category/GetData',
type: "POST",
},
order: [[ 0, 'desc' ]],
orderId:"CategoryId",
columns: [
{ data: "CategoryId", visible: false },
{ data: "CategoryName", title: "Category Name" },
{ data: "CategoryDescription", title: "Category Description" },
{ data: "CreatedDate", title: "Created Date", render: function (data) {
return data.format("DD/MM/YYYY hh:mm A");
}
},
{
data: "CategoryId", title: "Action", render: function (data) {
return '<a class="btn btn-sm u-btn-secondary" href="/Category/Edit/'+data+'">Edit</a>'
},
orderable:false
}
]
});
$('#CategoryTable')。数据表({
服务器端:是的,
处理:对,
是的,
阿贾克斯:{
url:'Category/GetData',
类型:“POST”,
},
订单:[[0,'说明']],
orderId:“CategoryId”,
栏目:[
{数据:“CategoryId”,可见:false},
{数据:“类别名称”,标题:“类别名称”},
{数据:“分类说明”,标题:“分类说明”},
{数据:“CreatedDate”,标题:“CreatedDate”,呈现:函数(数据){
返回数据格式(“DD/MM/YYYY hh:MM A”);
}
},
{
数据:“类别ID”,标题:“操作”,呈现:函数(数据){
返回“”
},
可订购:false
}
]
});
您可以尝试使用以下代码使用新格式对数据表进行排序
代码:
结果:
思想共享代码示例和您当前遇到的错误?您好,我没有收到任何错误。使用该排序属性,不管是哪一年,它都会按日期对表进行排序。根据给出的信息,您认为我们能提供什么帮助???我上传了输入/输出
private void button1_Click(object sender, EventArgs e)
{
foreach (DataRow dr in table.Rows)
{
dr["Date"] = DateTime.ParseExact(dr["Date"].ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture).ToShortDateString();
}
table.DefaultView.Sort = "Date asc";
dataGridView1.DataSource = table;
}
private void Form1_Load(object sender, EventArgs e)
{
table.Columns.Add("Name");
table.Columns.Add("Date");
table.Rows.Add("Ploiesti", "19/05/2017");
table.Rows.Add("Ploiesti", "20/05/2017");
table.Rows.Add("Ploiesti", "21/05/2017");
table.Rows.Add("Sinaia", "22/05/2017");
table.Rows.Add("Sinaia", "19/05/2017");
table.Rows.Add("Constanta", "23/05/2017");
table.Rows.Add("Constanta", "12/06/2017");
table.Rows.Add("Barsana", "13/06/2017");
table.Rows.Add("Brasov", "11/07/2017");
table.Rows.Add("Brasov", "22/07/2017");
dataGridView1.DataSource = table;
}