2010-09-07 4 views
1

У меня есть detailView, чьи значения даты в ячейке отображаются в longDateFormat, я хочу преобразовать все значения даты в этом DetailsView на короткую дату.преобразование элемента DetailsView TemplateField значение ячейки в короткую строку даты

Например, вместо 6/1/2010 12:00:00 AM, я хочу, чтобы отобразить только 6/1/2010

Для Gridview, я могу добиться того, что с помощью кода blow

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 

Как можно добиться того же с помощью DetailsView?

ответ

2

Это может быть достигнуто просто, если в шаблоне поданном ..

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

или, если это не шаблон поле, то

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