我正在使用 ASP.NET 和 C#。这是我的代码。
private const string ASCENDING = "ASC";
private const string DESCENDING = "DESC";
public SortDirection GridViewSortDirection
{
get
{
if (ViewState["sortDirection"] == null)
ViewState["sortDirection"] = SortDirection.Ascending;
return (SortDirection) ViewState["sortDirection"];
}
set { ViewState["sortDirection"] = value; }
}
public string SortExpression
{
get
{
if (ViewState["sortExpression"] == null)
ViewState["sortExpression"] = "JobNumber";
return ViewState["sortExpression"] as string;
}
set { ViewState["sortExpression"] = value; }
}
protected void OnSorting(object sender, GridViewSortEventArgs e)
{
SortExpression = e.SortExpression;
if (GridViewSortDirection == SortDirection.Ascending)
{
GridViewSortDirection = SortDirection.Descending;
}
else
{
GridViewSortDirection = SortDirection.Ascending;
}
BindGrid();
}
我正在对所有列进行排序并且工作正常。但是对于日期列,它就像这个顺序(dd/mm/yyyy)。
- 2012 年 11 月 30 日
- 2012 年 10 月 12 日
2012 年 9 月 10 日
<asp:BoundField DataField="ReportedDate" HeaderText="Reported Date" SortExpression="ReportedDate" DataFormatString="{0:DD/MM/YYYY}" HtmlEncode="false" />
此列的数据类型是日期。
怎么做?我做错了吗?