2

gridview 列标题从 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { GridView grid = sender as GridView; DataRowView tableData = e.Row.DataItem as DataRowView;

    if (e.Row.RowType == DataControlRowType.Header)
    {
        e.Row.Cells[1].Text = System.DateTime.Now.AddMonths(-3).ToString("MMMM") ;
    }
}

如何从后面的代码中对这一特定列进行排序。文件.asp

<asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderStyle-VerticalAlign="Bottom" ItemStyle-Wrap="False">
<ItemTemplate>
<asp:Label ID="lblMonth_1" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>

谢谢。

4

1 回答 1

1

您可能不需要为此查看代码。你用的是什么类型的数据库?

您是否考虑过修改查询以包含另一列?

select mydate, dateadd(m, -3, mydate) as olderdate from mytable;

然后,您可以将您的 gridview 字段设置为:

<asp:BoundField DataField="olderdate" HeaderText="Older Date" SortExpression="olderdate" dataformatstring="{0:MMM}">
    <ItemStyle Wrap="False" />
</asp:BoundField>

并将您的网格视图标记为 AllowSorting="true"。

于 2012-10-09T23:21:09.490 回答