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
Como posso impedir que isso aconteça ? Obrigado !12/12/2009 para 12/12/2009 12:00:00 AM
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}" />
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>
Defina o valor de dataformatstring para "{0: d} "
Ex:
<asp:BoundField HeaderText="Date" DataField="Date_Field" ReadOnly="True" DataFormatString="{0:d}">
</asp:BoundField>
Dentro de
Asp: Label runat= "server" Text= ' '
Tente adicionar "{0:M-dd-aaaa}"
Asp:Label runat="server" Text=', "{0:M-dd-aaaa}") %>'
Também pode usar .ToShortDateString()
no objecto DateTime Se já estiver a manipular a data no RowDataBound
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
Quando seleccionar o campo da base de dados, poderá convertê-lo para um texto na opção seleccionar como:
convert(varchar, myDate, 101)
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.
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;
}
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