在gridview日期行中格式化MM / dd

时间:2013-10-11 15:47:02

标签: c# asp.net gridview

我正在尝试将网格视图上的日期格式化为仅显示月份和日期:

<asp:BoundField DataField="Monday" HeaderText="Monday" ReadOnly="True" SortExpression="Monday" ItemStyle-HorizontalAlign="Right"
     DataFormatString="{0:MM/dd}" HtmlEncode="false" />

没有用。另外,当我看到这里时:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.dataformatstring.aspx

我不认为这种格式是一种选择。我如何实现这一目标?

编辑:

enter image description here

2 个答案:

答案 0 :(得分:1)

我会将该列更改为TemplateField。然后我会将文本更改为..

Text='<%# DataBinder.Eval(Container.DataItem, "Monday","{0:MM/dd}") %>'

这对你有用。整个TemplateField for和ItemTemplate看起来应该与此类似..

 <asp:TemplateField HeaderText="Monday" SortExpression="Monday">
                    <ItemTemplate>
                        <asp:Label ID="lblMonday" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Monday","{0:MM/dd}") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>

我希望这有帮助!

答案 1 :(得分:0)

您的数据字段Monday是否为结果中的DateTime字段。

如果它不是datetime字段,则需要将其转换为Sql语句。

例如:

Select <expression> as Monday....

Select Cast(<expression> as datetime) as Monday....