2013-04-05 4 views
0

내 시스템에서 asp.net 2005를 사용하고 응용 프로그램을 만들고 있습니다. 날짜 형식 정렬 문제가 있습니다. 나는 "사용자 이름, 날짜 시간, 방문 페이지"와 같은 세 개의 필드를 포함하는 테이블을 가지고 있습니다.날짜 형식 정렬 문제

user name  date time    visited page 
    xyz   4/4/2013 5:30:45 PM  aaa.aspx  
    xyz   4/4/2013 6:35:15 PM  aaa.aspx  
    xyz   4/4/2013 7:55:45 PM  aaa.aspx  
    xyz   4/4/2013 10:05:45 PM  aaa.aspx  
    xyz   4/4/2013 11:06:45 PM  aaa.aspx 

아래로 이것에 대한

내 기록은 내가 자바 스크립트 또는 jQuery를 사용하지 않고이 정렬하고 싶습니다. 출력은

user name  date time    visited page  
xyz   4/4/2013 11:06:45 PM  aaa.aspx  
xyz   4/4/2013 10:05:45 PM  aaa.aspx  
xyz   4/4/2013 7:55:45 PM  aaa.aspx  
xyz   4/4/2013 6:35:15 PM  aaa.aspx  
xyz   4/4/2013 5:30:45 PM  aaa.aspx 

해야하지만 내가 DataView를하지만 제대로 어느 한이 문제에 대해 저를 도울 수 작동하지 통해이 정렬하려고이

user name  date time    visited page  
xyz   4/4/2013 7:55:45 PM  aaa.aspx  
xyz   4/4/2013 6:35:15 PM  aaa.aspx  
xyz   4/4/2013 5:30:45 PM  aaa.aspx 
xyz   4/4/2013 11:06:45 PM  aaa.aspx  
xyz   4/4/2013 10:05:45 PM  aaa.aspx 

같은 결과를 얻었다.

+0

가 어디 값에서 오는 :

당신이 가지고있는 파일 (예 : ISO8601 등) 불변 날짜 형식을 사용하지 않기 때문에, 당신은 어딘가에 명시 적으로 같은 형식을 제공해야 하는가? SQL? 그렇다면 클라이언트 대신에 정렬하십시오. – jrummell

+0

SQL 대신 .csv 파일을 사용하고 있습니다. –

+0

"테이블이있다"는 말은 ... 당신은 메모리에있는 데이터 테이블을 가지고 있다는 것을 의미합니까, 아니면 HTML 테이블을 가지고 있다는 것을 의미합니까? 어떤 asp.net 컨트롤/html 테이블을 만드는 데 사용하고 있습니까? – Penfold

답변

1

입니다

CsvValue[] values = ReadCsvFile().OrderBy(value => value.DateTime); 

. 여기에있는 다른 답변에서 제안 사항 중 일부를 사용하거나 결과를 DataTable에 채울 수도 있습니다. 당신이 편안하게 사용하십시오.

다른 답변에서 언급되지 않은 중요한 비트는 읽고있는 datetime 형식에 대해 명시해야한다는 것입니다. 예를 들어, 1/2/2013이 1 월 2 일 또는 2 월 1 일을 나타내는 것을 어떻게 알 수 있습니까?

DateTime dt = DateTime.ParseExact(YourDateString, 
            "M/d/yyyy", // or "d/M/yyyy" 
            CultureInfo.InvariantCulture); 
1

CSV를 ODBC 소스로 설정하십시오. 그런 다음 Schema.ini를 사용하고 해당 필드를 datetime으로 설정해야합니다. 링크를 참조하십시오 : http://msdn.microsoft.com/en-us/library/ms709353.aspx

설명이 있어야합니다. 당신은 당신이 SQL 쿼리를 수행하고 할 수있는 완료 그럼 일단 간단한

SELECT * ORDER BY [date time] desc 

나는 개인적으로 당신이 DTS를 사용하고 어떤 종류의 관계형 데이터베이스에 그것을 얻을, '것을 할 수 있다면, 일반 텍스트 파일을 사용 싫어 d 좋은 출발이 될 것입니다.

1

강력한 형식의 DateTime 속성이있는 개체로 .csv 값을 읽고 정렬합니다. 단지 원시 텍스트 파일과 간단한 문자열 구문 분석으로 포함 CSV를 읽을 수있는 다른 많은 방법이있다 CsvValue가

public class CsvValue 
{ 
    public string UserName {get; set;} 
    public DateTime DateTime {get; set;} 
    public string VisitedPage {get; set;} 
} 
+0

그것이 내가 아래에 게시하기 전에 내가 생각하고 있었던 다른 방법이었다. 나는 LINQ를 제안하려고했으나 소개하기 전에 .NET 2005를 사용했다. – ApolloSoftware