3

我有以下 GridView:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
    DataKeyNames="EVENT,TERM_CODE" DataSourceID="OracleDataSource" ShowHeaderWhenEmpty="True"
    EnableViewState="False">
    <Columns>
        <asp:CommandField ShowEditButton="True" />
        <asp:BoundField DataField="EVENT" HeaderText="Event" ReadOnly="True" 
            SortExpression="EVENT" />
        <asp:BoundField DataField="TERM_CODE" HeaderText="Term Code" ReadOnly="True" 
            SortExpression="TERM_CODE" />
        <asp:BoundField DataField="SNAPSHOT_DATA_DATE" HeaderText="Snapshot Date" 
            SortExpression="SNAPSHOT_DATA_DATE" DataFormatString="{0:d}"  />
    </Columns>
</asp:GridView>

SNAPSHOT_DATA_DATE 列是数据库中的 DateTime 字段。
我只想显示日期而不是日期和时间。2012 年 7 月 25 日
所以我添加DateFormatString="{0:d}"到 BoundField,这在查看 Gridview 时效果很好。但是,如果我单击编辑链接以更新显示为的日期:7/25/2012 12:00:00 AM DateFormatString 在编辑模式下被忽略。有人可以告诉我如何删除处于编辑/更新模式的时间吗?我不希望用户只处理日期时间。

4

2 回答 2

9

确保您已设置以下格式属性,以便在“绑定”字段中的编辑模式下工作。

DataFormatString = ({0:d})
ApplyFormatInEditMode = True

在您的代码中,如果您像下面这样修改,它应该可以正常工作

<asp:BoundField DataField="SNAPSHOT_DATA_DATE" HeaderText="Snapshot Date" ApplyFormatInEditMode="true" SortExpression="SNAPSHOT_DATA_DATE" DataFormatString="{0:d}"  />
于 2012-11-07T21:24:53.790 回答
2

我特别想将我的日期格式化为yyyy/MM/dd没有相当于以下内容的时间:

string dateString = DateTime.Now.ToString("yyyy/MM/dd");

为此,我只是DataFormatString在 BoundField 的属性上添加了格式:

<asp:BoundField DataField="DatePosted" HeaderText="Date" DataFormatString="{0:yyyy/MM/dd}" />
于 2017-06-26T11:53:00.737 回答