多情劍子
|
發表於 2007-5-12 11:10 AM |
我已經找到答案了,將HtmlEncode屬性設成False(預設值為True),再設DataFormatString="{0:yyyy/MM/dd}"即可正常顯示,感謝各位熱心的指導!!
| |
csjian
|
發表於 2007-5-10 05:41 PM |
嗯,我是在 .Net 2.0 上用的,沒有問題。其他版本就沒試過了
還有一個方式是你自己寫一個 function 來轉,網頁的部份改成
<asp:TemplateField HeaderText="購買年月">
<ItemTemplate>
<asp:Literal ID="lblTime" runat="server" Text='<%# DisplayTime(DataBinder.Eval (Container.DataItem, "購買年月")) %>' />
</ItemTemplate>
</asp:TemplateField>
然後寫一個 Function
Protected Function (ByVal date as String) As String
' 處理那個 date
' 最偷懶就是直接拿前面10個字送出
' return date.subString(0,10)
End Function
[csjian 在 2007-5-10 05:50 PM 作了最後編輯]
| |
多情劍子
|
發表於 2007-5-10 02:39 PM |
引用: csjian寫到:
你可以用 DataFormatString 去格式他你的時間,如下 (顯示出來變成 2007/05/08)
<asp:BoundField DataField="購置年月" HeaderText="購置年月" SortExpression="購置年月" DataFormatString="{0:yyyy/MM/dd}" />
我已經試過了沒有用,聽說這好像是FrameWork的Bug?
| |
csjian
|
發表於 2007-5-10 01:39 PM |
你可以用 DataFormatString 去格式他你的時間,如下 (顯示出來變成 2007/05/08)
<asp:BoundField DataField="購置年月" HeaderText="購置年月" SortExpression="購置年月" DataFormatString="{0:yyyy/MM/dd}" />
| |
多情劍子
|
發表於 2007-4-23 08:57 AM |
引用: ithinkurdumb寫到:
把那段程式貼上來吧.
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>未命名頁面</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"
BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" DataSourceID="AccessDataSource1">
<FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
<Columns>
<asp:BoundField DataField="廠牌" HeaderText="廠牌" SortExpression="廠牌" />
<asp:BoundField DataField="型式" HeaderText="型式" SortExpression="型式" />
<asp:BoundField DataField="購置年月" HeaderText="購置年月" SortExpression="購置年月" /> <asp:BoundField DataField="年限" HeaderText="年限" SortExpression="年限" />
<asp:BoundField DataField="使用IP" HeaderText="使用IP" SortExpression="使用IP" />
<asp:BoundField DataField="作業系統" HeaderText="作業系統" SortExpression="作業系統" />
<asp:BoundField DataField="網路卡位址" HeaderText="網路卡位址" SortExpression="網路卡位址" />
</Columns>
<RowStyle BackColor="White" ForeColor="#330099" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
<PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Info.mdb"
SelectCommand="SELECT [廠牌], [型式], [購置年月], [年限], [使用IP], [作業系統], [網路卡位址] FROM [資訊管理Data]">
</asp:AccessDataSource>
</div>
</form>
</body>
</html>
| |
ithinkurdumb
|
發表於 2007-4-20 05:18 PM |
|
多情劍子
|
發表於 2007-4-18 01:41 PM |
引用: ithinkurdumb寫到:
不清楚你的問題是怎麼發生的,
不過我猜是因為你的資料只有日期而沒有時間,
所以DateTime.ToString()之後會出現時間.
可以用DateTime.ToLongDateString()或是DateTime.ToShortDateString(),
這樣就只會顯示日期.
也可以在ToString()裡面加上format string,
像是DateTime.ToString("MM.dd.yyyy")就會顯示04.17.2007這樣.
format string MSDN裡面有說明.
我是用Griew View元件來顯示資料庫的資料,但遇到顯示日期就會發生多出上午 12:00:00的情況,我稿不清楚DateTime.ToLongDateString要在那個屬性設定??
| |
ithinkurdumb
|
發表於 2007-4-17 03:59 PM |
不清楚你的問題是怎麼發生的,
不過我猜是因為你的資料只有日期而沒有時間,
所以DateTime.ToString()之後會出現時間.
可以用DateTime.ToLongDateString()或是DateTime.ToShortDateString(),
這樣就只會顯示日期.
也可以在ToString()裡面加上format string,
像是DateTime.ToString("MM.dd.yyyy")就會顯示04.17.2007這樣.
format string MSDN裡面有說明.
| |
多情劍子
|
發表於 2007-4-17 01:48 PM |
ASP.NET的GridView元件在顯示日期時都會出現上午 12:00:00,請問要如何消除?
| |