Como você pode mostrar a data em um gridview apenas como uma data em vez de uma datetime?

estou a extrair os valores de data de uma base de dados do servidor sql usando uma grelha e a data é convertida a partir de

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

Como posso impedir que isso aconteça ?

Obrigado !

Author: Jay Riggs, 2011-05-20

10 answers

Pode usar o método ToString() com uma máscara:

ToString("MM/dd/yyyy");

Actualização: acabei de perceber que seria mais fácil no seu caso fazê-lo no modelo de vista da grelha

<asp:BoundField DataField="MyDate" DataFormatString="{0:MM/dd/yyyy}" />
 44
Author: Ken Pespisa, 2016-04-09 09:50:20

Poderá definir o formato da data na coluna encadernada como este

<itemtemplate>
<asp id="Label1" runat="server" Label.Text='<%# Bind("YourDateField", "{0:M-dd-yyyy}") %>'>;
</asp>
</itemtemplate>
 13
Author: consoleart, 2011-05-20 18:01:19

Defina o valor de dataformatstring para "{0: d} "

Ex:

<asp:BoundField HeaderText="Date" DataField="Date_Field" ReadOnly="True" DataFormatString="{0:d}">
</asp:BoundField>
 5
Author: Adi, 2011-05-20 17:52:51

Dentro de

Asp: Label runat= "server" Text= ' '

Tente adicionar "{0:M-dd-aaaa}"

Asp:Label runat="server" Text=', "{0:M-dd-aaaa}") %>'

 3
Author: Ernest, 2013-01-02 19:56:10

Também pode usar .ToShortDateString() no objecto DateTime Se já estiver a manipular a data no RowDataBound

 2
Author: Josh Mein, 2011-05-20 17:52:05

Pode usar um atributo DataAnnotations e um controlo DynamicField; depois não tem de fazer a mesma formatação sempre que quiser formatar esse campo. Há um exemplo que mostra como fazer isso aqui: http://www.asp.net/entity-framework/tutorials/the-entity-framework-and-aspnet-%E2%80%93-getting-started-part-8

 1
Author: tdykstra, 2011-05-21 14:25:48

Quando seleccionar o campo da base de dados, poderá convertê-lo para um texto na opção seleccionar como:

convert(varchar, myDate, 101)
 0
Author: Avitus, 2011-05-20 17:51:49

Tente o código abaixo:

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

No código acima mencionado, my_date é a coluna de data da tabela sqlserver. O {[[2]} é a parte principal deste código para resolver a questão específica do seu.

 0
Author: ARIJIT DAS, 2012-09-27 22:56:10
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;
                }
 -1
Author: manikandan, 2016-09-10 10:17:36

Use isto na pesquisa Onde está a obter o campo Data

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

Ex:select column1,column2,CONVERT(VARCHAR,date column name,103) as date from tablename

 -2
Author: Sk Maniruddin, 2012-07-03 12:04:19