如何对包含日期列的数据表进行排序
本文关键字:数据表 排序 包含 日期 | 更新日期: 2023-09-27 18:33:23
>我有一个包含 1 个日期列的数据表作为
dttable.Columns.Add("StartDate", typeof(DateTime));
dttable.Columns.Add("Col2");
dttable.Columns.Add("Col3");
dttable.Columns.Add("Col4");
dttable.Columns.Add("Col5");
在使用 StartDate 排序后,我将这个表与网格视图绑定,如下所示
dttable.DefaultView.Sort = "StartDate";
GridView1.DataSource = dttable;
GridView1.DataBind();
在网格视图中,我希望字符串格式的日期为"dd-MMM-yyyy"。我该怎么做?
您可以使用
DataFormatString
<columns>
<asp headertext="StartDate" dataformatstring="{0:dd-MMM-yyyy}"
datafield="StartDate" />
</columns>
在aspx文件中,只需对开始日期列使用以下代码
<ItemTemplate>
<asp:Label ID="StartDate" runat="server" Text='<%# Eval("StartDate","{0:dd-MMM-yyyy}") %>' ></asp:Label>
</ItemTemplate>
也许这会起作用。
string str="";
for(int i=0;i<dttable.Rows.Count;i++)
{
str = dttable.rows[i]["StartDate"].toString("dd-MM-yyyy");
dttable.rows[i]["StartDate"] = DateTime.ParseExact(str, "dd-MM-yyyy",null);
}
dttable.DefaultView.Sort = "StartDate";
GridView1.DataSource = dttable;
GridView1.DataBind();