Как вы можете показать дату в виде сетки только как дату вместо даты-времени? - PullRequest
22 голосов
/ 20 мая 2011

Я извлекаю значения даты из базы данных сервера sql, используя gridview, и дата преобразуется из

12/12/2009 в 12/12/200912:00:00

Как мне предотвратить это?

Спасибо!

Ответы [ 10 ]

44 голосов
/ 20 мая 2011

Вы можете использовать метод ToString() с маской:

ToString("MM/dd/yyyy");

ОБНОВЛЕНИЕ: Просто понял, что в вашем случае было бы проще сделать это в шаблоне вида сетки

<asp:BoundField DataField="MyDate" DataFormatString="{0:MM/dd/yyyy}" />
14 голосов
/ 20 мая 2011

Вы можете установить формат даты в связанном столбце следующим образом

<itemtemplate>
<asp id="Label1" runat="server" Label.Text='<%# Bind("YourDateField", "{0:M-dd-yyyy}") %>'>;
</asp>
</itemtemplate>
5 голосов
/ 20 мая 2011

установить значение dataformatstring равным "{0: d}"

Ex:

<asp:BoundField HeaderText="Date" DataField="Date_Field" ReadOnly="True" DataFormatString="{0:d}">
</asp:BoundField>
3 голосов
/ 02 января 2013

В пределах

asp: Label runat = "server" Text = '<% # Eval ("DateAndTime")%>'

Попробуйте добавить "{0: M-dd-гггг}"

asp: Label runat = "server" Text = '<% # Eval ("DateAndTime" <strong>, "{0:М-дд-гггг} ")%> '

2 голосов
/ 20 мая 2011

Вы также можете использовать .ToShortDateString() для объекта DateTime , если вы уже манипулируете датой в RowDataBound

1 голос
/ 21 мая 2011

Вы можете использовать атрибут DataAnnotations и элемент управления DynamicField;тогда вам не нужно делать одно и то же форматирование каждый раз, когда вы хотите отформатировать это поле.Вот пример, показывающий, как это сделать здесь: http://www.asp.net/entity-framework/tutorials/the-entity-framework-and-aspnet-%E2%80%93-getting-started-part-8

0 голосов
/ 10 сентября 2016
for (int j = 0; j < gv_bill_dmd_process_create.Rows.Count; j++)
                {
                    GridViewRow row_fees = (GridViewRow)gv_bill_dmd_process_create.Rows[j];
                    TextBox gv_chk_bill_dept = row_fees.FindControl("txt_gv_DmdProsDuedate") as TextBox;
                    AjaxControlToolkit.CalendarExtender gv_chk_bill_dept1 = row_fees.FindControl("txt_gv_DmdProsDuedate_CalendarExtender") as AjaxControlToolkit.CalendarExtender;
                    gv_chk_bill_dept1.StartDate = fromdate;
                    gv_chk_bill_dept1.EndDate = todate;
                }
0 голосов
/ 05 августа 2012

Попробуйте следующий код:

    <asp:BoundField DataField="my_date" HeaderText="Date" 
                            ReadOnly="True" SortExpression="my_date" 
                            DataFormatString="{0:d}" />

В приведенном выше коде my_date - это столбец даты таблицы sqlserver.DataFormatString="{0:d}" является основной частью этого кода для решения вашей конкретной проблемы.

0 голосов
/ 03 июля 2012

используйте это в запросе, где вы получаете поле даты

CONVERT(VARCHAR,date column name,103) as date

например: select column1,column2,CONVERT(VARCHAR,date column name,103) as date from tablename

0 голосов
/ 20 мая 2011

когда вы выбираете поле из базы данных, вы можете преобразовать его в строку выбора:

convert(varchar, myDate, 101)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...