【问题标题】:Can a column from a datagrid be formatted to ToShortDateString?可以将数据网格中的列格式化为 ToShortDateString 吗?
【发布时间】:2015-09-20 06:41:11
【问题描述】:

我在数据网格中有一个列显示日期,如 2014-04-21 00:00:00,但我想显示为 2014-04-21。

<asp:DataGrid runat="server" CssClass="tblResults" Width="30%" OnItemDataBound="dgList_ItemCreated" AllowSorting="true" OnSortCommand="dgList_Sort" ID="dgList" DataKeyField="ID" AutoGenerateColumns="false">
                <HeaderStyle CssClass="tblResultsHeader" />
                <AlternatingItemStyle BackColor="#EEEEEE" />
                <Columns>
                    <asp:HyperLinkColumn ItemStyle-CssClass="loading" DataNavigateUrlFormatString="PublicHolidays.aspx?DateID={0}" DataNavigateUrlField="ID" DataTextField="BankHol" HeaderText="Bank Holidays" SortExpression="BankHol" ></asp:HyperLinkColumn>
                    <asp:BoundColumn DataField="IsActive" HeaderText="Is Active" SortExpression="IsActive" Visible = "false" ></asp:BoundColumn>
                    </Columns>
            </asp:DataGrid>

我知道对于 BoundColumns,我可以使用 DataTextFormatStringDataFormatString,但这些不能用于 HyperLinkColumn。它给出的错误不是 HyperLinkColumn 的有效属性。那么我可以像使用文本框一样编辑 DataGrid 后面的代码并将列格式化为 ToShortDateString 吗?

【问题讨论】:

    标签: c# asp.net hyperlink datagrid date-format


    【解决方案1】:

    尝试代替

    <asp:HyperLinkColumn ItemStyle-CssClass="loading" DataNavigateUrlFormatString="PublicHolidays.aspx?DateID={0}" DataNavigateUrlField="ID" DataTextField="BankHol" HeaderText="Bank Holidays" SortExpression="BankHol" ></asp:HyperLinkColumn>
    

    这个

    <asp:HyperLinkColumn ItemStyle-CssClass="loading" NavigateUrl='PublicHolidays.aspx?DateID=<%# Eval("YourDatetimeColumn").ToString().Substring(0, Eval("YourDatetimeColumn").ToString().IndexOf(" ")) %>' DataTextField="BankHol" HeaderText="Bank Holidays" SortExpression="BankHol" ></asp:HyperLinkColumn>
    

    【讨论】:

    • 它没有用。日期仍显示为 2014-04-21 00:00:00
    【解决方案2】:

    看起来 DataTextFormatString 是有效的:

    MSDN

    无论如何,为了设置自定义格式,Eval 方法应该有一个重载,例如

    Eval("{0:MyDateField}", "yyyy-MM-dd")
    

    问候, 斯蒂法诺

    【讨论】:

      猜你喜欢
      • 2018-04-02
      • 1970-01-01
      • 2014-04-27
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 1970-01-01
      • 2021-05-18
      相关资源
      最近更新 更多