2011-07-03 2 views
0

날짜 열을 기준으로 내 DevExpress 그리드를 그룹화해야하는 상황을 다루고 있습니다. 문제는 과거, 현재, 미래를 그룹화해야합니다. 여기에 LINQ는 다음과 같습니다 이제그리드가 필요합니다 날짜를 기반으로하는 논리적 그룹으로 그룹화됩니다.

GridJobSummary.DataSource = from luke in DbContext.JobBookings 
      where luke.LocumID == LocumID 
      orderby luke.Job.JobDate descending 
      select new { 
       luke.JobID, 
       luke.Job.JobDate, 
       ClientID = luke.Job.Branch.ClientID, 
       ClientName = String.Format("{0} ({1})", luke.Job.Branch.Client.Name, luke.Job.Branch.Client.Number), 
       BranchID = luke.Job.BranchID, 
       BranchName = String.Format("{0} ({1})", luke.Job.Branch.Number, luke.Job.Branch.Number), 
       JobBookingStatusName = luke.JobBookingStatus.Name 
      }; 

GridJobSummaryView.Columns["JobID"].Visible = false; 
GridJobSummaryView.Columns["ClientID"].Visible = false; 
GridJobSummaryView.Columns["BranchID"].Visible = false; 

GridJobSummaryView.Columns["JobDate"].DisplayFormat.FormatType = FormatType.DateTime; 
GridJobSummaryView.Columns["JobDate"].DisplayFormat.FormatString = "ddd, dd-MMM-yyyy"; 
GridJobSummaryView.Columns["JobDate"].SortOrder = ColumnSortOrder.Ascending; 

,

[작업 날짜 < 오늘,이 과거 그룹으로 이동합니다.

[작업 날짜> = 오늘은 < = (오늘 + 1 월)], 그것은 현재 있다면

.

[취업 일> (오늘 +1 개월)] 인 경우 미래입니다.

그리드를이 가상 그룹으로 그룹화하려면 어떻게해야합니까? 문안 인사.

답변

1

선택한 객체에 속성을 "그룹 이름"을 추가

select new { 
       luke.JobID, 
       luke.Job.JobDate, 
       ClientID = luke.Job.Branch.ClientID, 
       ClientName = String.Format("{0} ({1})", luke.Job.Branch.Client.Name, luke.Job.Branch.Client.Number), 
       BranchID = luke.Job.BranchID, 
       BranchName = String.Format("{0} ({1})", luke.Job.Branch.Number, luke.Job.Branch.Number), 
       JobBookingStatusName = luke.JobBookingStatus.Name, 
       GroupName = GetGroupNameByDate(luke.Job.JobDate) 
      }; 

// ..... 
string GetGroupNameByDate(DateTime date) { 
    var today = DateTime.Today; 
    if (date < today) { return "Past"; } 
    else if (date >= today && date <= today.AddMonths(1)) { return "Current"; } 
    else { return "Future"; } 
} 
+0

작품 완벽 – DoomerDGR8