Подтвердить что ты не робот

Как вы можете показать дату в gridview как дату, а не в datetime?

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

12/12/2009 12/12/2009 12:00:00 AM

Как я могу предотвратить это?

Спасибо!

4b9b3361

Ответ 1

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

ToString("MM/dd/yyyy");

UPDATE: просто понял, что в вашем случае было бы проще сделать это в шаблоне сетки.

<asp:BoundField DataField="MyDate" DataFormatString="{0:MM/dd/yyyy}" />

Ответ 2

Вы можете установить формат даты в связанном столбце, как это показано

<itemtemplate>
<asp id="Label1" runat="server" Label.Text='<%# Bind("YourDateField", "{0:M-dd-yyyy}") %>'>;
</asp>
</itemtemplate>

Ответ 3

установите для параметра dataformatstring значение "{0: d}"

Пример:

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

Ответ 4

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

Ответ 5

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

Ответ 6

В

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

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

asp: Label runat = "server" Text = '<% # Eval ( "DateAndTime" , "{0: M-dd-yyyy}" )% > '

Ответ 7

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

convert(varchar, myDate, 101)

Ответ 8

Попробуйте приведенный ниже код:

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

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

Ответ 9

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;
                }

Ответ 10

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

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

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