我想从linq查询格式化结果并将其传递给网格。 我有周的第一个日期(星期一的日期)作为我的输入,我用它来提取该周的数据(周一到周日。
这是我存储在DB中的内容,它是通过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)
创建一个模型,允许您在将日期发送到视图之前操作日期
//Model
public class WeekData{
public string DayOfTheWeek{get;set;}
public decimal Hours{get;set;}
}
将IList中的数据发送到视图 设置DayOfTheWeek使用Date.DayOfWeek.ToString()
答案 1 :(得分:1)
您可以使用 o.Date.ToString(“ddd”); 。它将1天转换为mondey