2010-09-07 22 views
1

J'ai un detailsView dont les valeurs de date dans une cellule sont actuellement affichées dans longDateFormat, je veux convertir toutes les valeurs de date dans cette DetailsView à la date courte.convertir une valeur de cellule DetailsView TemplateField en chaîne de date courte

Par exemple, au lieu de 6/1/2010 0:00:00, je veux juste afficher 6/1/2010

Pour Gridview, je peux y parvenir par le code coup

Protected Sub DetailsView4_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailsView4.DataBound 

    If e.Row.RowType = DataControlRowType.DataRow Then 
     For i As Integer = 0 To e.Row.Cells.Count - 1 
      Dim cellDate As Date 
      If Date.TryParse(e.Row.Cells(i).Text, cellDate) Then 
       e.Row.Cells(i).Text = String.Format("{0:d}", cellDate) 
      End If 
     Next 
    End If 

End Sub 

Comment pouvez-vous réaliser la même chose avec un DetailsView?

Répondre

2

Il peut être réalisé simplement, si elle est dans le modèle déposé ..

<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("tDate", "{0:MM/dd/yyyy}") %>'></asp:TextBox> 

ou si elle est pas de champ modèle puis

<asp:BoundField DataField="tDate" HeaderText="tDate" SortExpression="tDate" DataFormatString="{0:MM/dd/yyyy}" HtmlEncode="False" />