2013-08-01 49 views
0

我想從我的linq查詢格式化結果並將其傳遞給網格。 我有周第一天(週一日)作爲我的輸入與我拉數據爲本週(週一至週日爲網格格式化linq查詢輸出

以下是我已經存儲在數據庫,目前正在通過LINQ查詢拉:

Date  Hours 
07/29/2013  1.3 
07/29/2013  2.0 
07/30/2013  3.1 
07/31/2013  0.1 
07/31/2013  5.2 
08/01/2013  1.1 
08/01/2013  1.1 
08/01/2013  2.2 
08/02/2013  3.3 
08/02/2013  4.0 
08/03/2013  2.1 

這裏是我想要顯示網格輸出:

Day  Hours 
Monday   2.3 
Tuesday  3.1 
Wednesday  5.3 
Thursday  4.4 
Friday   9.5 
Saturday  2.1 
Sunday   0.0 

控制器動作:

[HttpPost] 
[GridAction] 
public ActionResult GridOutput(string dateOnMonday) 
{ 

DateTime DateOnMonday = Convert.ToDateTime(dateOnMonday); 

var WeeklyHoursToGrid = (from h in db.vwHours.Where(h.Date >= DateOnMonday && h.Date < DateOnMonday.AddDays(7)) 
    select h.Hours).Sum(); 

    return View(new GridModel { Data = WeeklyHoursToGrid }); 

} 

HTML(網格):

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<UI.Models.vwHour>>" %> 

<div> 

<% Html.GridFor("WeekDetails", "GridOutput", "Hours", GridOptions.EnableSelecting, Model).Columns(column => 
     { 
      column.Bound(o => o.Date).Title("Day");//Display Day's instead of Date 
      column.Bound(o => o.Hours).Title("Hours");//Display Total Hours for that day 
     }).Render(); 
%> 

</div> 

任何幫助深表感謝

+0

這樣我的問題給了我很多負面的聲譽,我無法解釋任何人我的問題是什麼。每個人都說使用字符串格式:( –

+1

你可以使用o.Date.ToString(「ddd」);?它將1天轉換爲mondey –

+0

@ElvinArzumanoğlu是的,這工作顯示日期 – user793468

回答

1

創建模型,可以讓你把它發送到視圖

//Model 
public class WeekData{ 
public string DayOfTheWeek{get;set;} 
public decimal Hours{get;set;} 
} 

發送數據之前操縱日期在IList裏面查看 設置DayOfTheWeek使用Date.DayOfWeek.ToString()

1

你可以使用o.Date.ToString(「ddd」);。它轉換爲1天mondey

+0

你能夠column.Bound(o => o.Date.ToString(「ddd」))?? – lafama