문제

나는 아주 간단한 ASP.Net 페이지 역할을 하는 프런트 엔드를 저장한 절차입니다.그것은 단지 실행 절차 및 출력을 보여줍를 사용하여트 제어:40 미만 라인의 코드 총을 포함,aspx 마크업이 있습니다.저장 프로시저는 자체가 매우...휘발성이다.그것의 사용에 대한 목적의 숫자 출력 형식의 변경을 정기적으로 한다.

모든 일은 좋은 작품이기 때문에,트를 제어하지 않는 정말 걱정할 필요 무슨 열을 저장 프로시저를 반환합니다:그것은 단지 그들이 보여주는 페이지에서는 정확하게 내가 무엇을 원합니다.

그러나,데이터베이스는 이에 대해 실행되는 많은 수의 datetime 열두 시간 일부분에 정말 중요한-그것은 항상 zeroed out.어떤 것을 할 수 있어 형식의 단 datetime 에서 열트지 않고,정확하게 알고있는 열 사람들이 될 것입니다.언제든지 열에 결과를 날짜/시간 형식,다만 적용된 형식 문자열을 손질 시간 구성 요소입니다.

나는 알 수 있었로 변환하 varchar 데이터베이스에서,그러나 내가 정말 원하지 않을 만드는 개발자료 서식에 대한 쿼리고 이 속에서 프레젠테이션 수준 anyway.다른 어떤 아이디어가?


마지막으로 이 작업(허용하거나 적어도 개선)방법을 사용하여 이 코드:

Protected Sub OnRowDatabound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.DataRow Then
        Dim d As DateTime
        For Each cell As TableCell In e.Row.Cells
            If Date.TryParse(cell.Text, d) AndAlso d.TimeOfDay.Ticks = 0 Then
                cell.Text = d.ToShortDateString()
            End If
        Next cell
    End If
End Sub
도움이 되었습니까?

해결책

는 경우 자동 생성하는 열이있는 소리처럼 당신이 있습니다.용에 대한 절차 그리드 포맷은 끔찍합니다.

당신이 필요가 루프를 통해 모든 열의 그리드,아마에서된 이벤트에 적용하는 포맷을 표현하는 어떤 열을 찾은 날짜에 열입니다.

하지 않은 경우 자동 생성하고 당신은 hadcoding 열에서 당신의 그리드에 당신은 또한 알고 alreayd 는 열 날짜를 열고 적용할 수 있습니다 같은 형식으로 표현하는 열이 있습니다.그것은 무언가가 다음과 같{0:ddMMyyyy}하지만 당신은 그것을보고으로는 맞지 않습니다.

그래서 요약 연결된 이벤트이다.루프를 통해 열 컬렉션을 확인하는 경우 열이 날짜 열입니다.내가 궁금해 어떻게 작업을 수행 할 수 있습니다:).당신이 결정하는 경우 열이 날짜 열정의 형식으로 표현합니다.

Voila

---------------------- 편집

Ok 는 방법에 대해 당신은 당신이 쓸 방법을 반환하는 데이터에서 proc 을 반환 datatable.결합할 수 있습니다 datatable 당신의 그리드 포맷 후에서 데이터 datatable.Datatable.열션 컬렉션의 DataColumns 및 이러한 데이터 형식 제공합니다.당신이 찾고 있을 수 있습니다에 대한 시스템입니다.날짜/시간 또는 DateTime 수 있는 하나의 속성에 대한 데이터 속성 자체:).난 그것은 번거롭지만 당신이 무엇을 요청은 무료 될 것 복잡합니다.을 발견하면 날짜를 열 수 있습니다 그것으로 뭔가를 할 수 있습니다.

하지 않을 경우 난 보고를 시작에서 데이터 독자고 아무거나가있는 경우에 당신을 할 수 있는 데이터로 어댑터가 있습니다.내가 줄 수 있는 적절한 대답을 하지만 난 그러나 그것을 어떻게 관리하고,그것은 아름다운 상황은 아닌 것 같습니다.죄송

다른 팁

를 사용하는 경우 명시적 행 열 옵션을 추가,DataFormatString 귀하의 boundField

<asp:BoundField DataField="Whatever" ... DataFormatString="{0:dd/MM/yyyy}" HtmlEncode="False"/ > 

그렇지 않으면 당신이 볼 수있는 하 포맷트.OnRowDataBound 이벤트

당신이 사용할 수 있습 isDate()함수를하고자하는 경우,유효한 날짜를 사용하여 다음 dateformatting 옵션 보이게하는 당신이 원하는 것처럼.

에 대한 몇 가지 예일 포맷:http://datawebcontrols.com/faqs/CustomizingAppearance/FormatDateTimeData.shtml

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top