2015-07-02 69 views
1

我在顯示日期的數據網格中有一列,如2014-04-21 00:00:00,但我想像2014-04-21那樣顯示它。數據網格中的列可以格式化爲ToShortDateString嗎?

<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,就像使用文本框一樣?

回答

0

嘗試,而不是

<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> 
+0

它沒有工作。日期仍顯示爲2014-04-21 00:00:00 – user123456789

0

它看起來像DataTextFormatString是有效的:

看到MSDN

無論如何,Eval方法應該以超載設置自定義格式,例如

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

問候, 斯特凡諾

相關問題