2011-10-13 3 views
0

나는 단순히 내가 DataReader를 다음 코드와 같이에있어 (날짜 값을 포함)의 데이터를 데이터 바인딩 해요 :DateView 코드를 DetailsView 그리드에서 포맷하는 방법은 무엇입니까?

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    Dim id As Integer = Request.QueryString("id") 

    'Start connection 
    Dim cs As String = ConfigurationManager.ConnectionStrings("Access 2010").ConnectionString 
    Dim cn As New OleDbConnection(cs) 
    cn.Open() 

    'Retrieve Jobs Data 
    Dim cmd As New OleDbCommand 
    With cmd 
     .Connection = cn 
     .CommandText = "SELECT Nome, Descricao, Data, Autor FROM Jobs WHERE ID = @ID" 
     .CommandType = CommandType.Text 
     .Parameters.AddWithValue("@ID", id) 
    End With 
    Dim dbReader As OleDbDataReader = cmd.ExecuteReader() 

    If Not Page.IsPostBack Then 
     'Populate Dropdown Jobs 
     dtlJob.DataSource = dbReader 
     dtlJob.DataBind() 
    End If 
    dbReader.Close() 
End Sub 

내가 30/12/1899 00과 같은 값을 받고 있어요 : 00:51. 내 데이터베이스를 확인하고 기록이 정확합니다 : 12/10/2011이 나타납니다. 방금 .DataSource.DataBind을 사용했기 때문에 날짜 필드의 형식을 지정하려면 어떻게해야합니까?

답변

1

aspx 페이지에서 세부 정보보기를 찾고 바운드 필드에 DataFromatString 태그를 추가해야합니다. 난 당신은 DetailsView이 행을 생성 자동으로 설정해야합니다 생각 나는이를 추가 할 때마다

<asp:BoundField DataField="datetimefield" HeaderText="DateTime" DataFormatString="{0:d}" /> 
+0

, 그것은 올바른 날짜 필드 연결되지 않으며는 독립적 필드 –

+0

로드리고으로 유지 : IT는 다음과 같이 될 것입니다. 세부보기 용 태그에서 AutoGenerateRows = "False"를 입력해야합니다. 이렇게하면 다른 모든 필드를 위에서와 같이 바운드 필드로 추가해야합니다. – philb28

관련 문제