내가하는 List<CallLog>
이 곳 CallLog
가 다음과 같은 속성 : 나는 (DevExpress의) 그리드 데이터 소스를 작성해야이 너무 오래 걸립니다 (C#을)
public string SomeProperty1 { get; set; }
public string SomeProperty2 { get; set; }
public string SomePropertyN { get; set; }
public DateTime Date { get; set; }
public DateTime CallEndTime { get; set; }
이 목록과. 그리드에는 다음 열이 있습니다.
날짜 | SomeProperty1 | SomeProperty2 | ... | SomePropertyN | CallStartTime | CallEndTime
사실, 나는 첫 번째 열 (일)에, 나는 단지 date
부분을 사용하고 다른 열 (CallStartTime)에서, 나는 단지 time
부분을 사용, 2 열에서 Date
속성을 사용하고 있습니다.
불행히도 gridxview
은 두 개의 열에 내 Date
속성의 다른 형식을 표시하도록 요청할 때 적절한 그룹화를 수행하지 못합니다. 따라서 맞춤 클래스를 만들고 원래 목록을 새 목록 (List<CustomizedCallLog>
)으로 복사하고 새 목록을 표 데이터 원본으로 전달하기로 결정했습니다. 아래는 내가이 일을하는 방법이다. 그러나 너무 오래 걸립니다. 목록을 복사하는 빠른 방법이 있습니까?
내 사용자 정의 통화 기록 클래스 : 그리드를 설정
Public Class CustomizedCalLog
{
public DateTime Date { get; set; }
public string SomeProperty1 { get; set; }
public string SomeProperty2 { get; set; }
public string SomePropertyN { get; set; }
public string CallStartTime { get; set; }
public string CallEndTime { get; set; }
public CustomizedCallLog(CallLog log)
{
this.Date = log.Date;
this.SomeProperty1 = log.SomeProperty1 ;
this.SomeProperty2 = log.SomeProperty2 ;
this.SomePropertyN = log.SomePropertyN ;
this.CallStartTime = log.Date.ToString("H:mm");
this.CallEndTime = log.CallEndTime.ToString("H:mm");
}
}
:
private void SetGrid()
{
var logs = someBusiness.GetLogs();
List<CustomizedCallLog> dataSource = new List<CustomizedCallLog>();
foreach (var log in logs)
{
dataSource.Add(new CustomizedCallLog(log));
}
grid.ForceDataRowType(typeof(CustomizedCallLog));
grid.DataSource = dataSource;
grid.DataBind();
}
* 아래 내용은 어떻게 수행하고 있습니까? 하지만 너무 오래 걸립니다 * 코드를 벤치마킹 해 보셨습니까? 목록을 복사 할 때 병목 현상이 발생하는지 확실합니까? –
네 말이 맞아, 병목 현상은'This.SomePropertyX = log.SomePropertyX; '와 함께있다. – Yalda
나는이 방법을 시도해 볼 수 있다고 생각한다. 새 클래스를 만들지는 말고,이 두 가지 새로운 속성을 기존 클래스에 추가한다. 두 속성의 getter에서 서식이 지정된 문자열을 반환합니다. 이 같은 몇 가지 .. –