在MVC3剃须刀中显示甘特图

时间:2013-07-23 13:24:39

标签: asp.net-mvc-3 razor gantt-chart

在我的项目中,我创建了一个带有某些属性的html标签,其中包括项目开始日期和项目结束日期。

我应该添加所有月份列,以便显示从开始日期月到结束日期月份突出显示的月份。

我不希望那里有任何功能。

只需突出显示从开始到结束的几个月。

我认为它应该是一个甘特图。

但在网上,我能找到的只是甘特图表调度程序,而不仅仅是显示器。

有办法吗?

非常感谢任何形式的帮助。

2 个答案:

答案 0 :(得分:0)

这可以解决这个问题吗?

http://taitems.github.io/jQuery.Gantt/

jquery的甘特图可以很好地与MVC3一起使用。

答案 1 :(得分:0)

假设您的目标是“仅显示月份名称并突出显示从开始月份到结束月份的所有月份”,请尝试以下操作:

<强>型号:

public class Month
{
    public string Name { get; set; }
    public bool isHighlighted { get; set; }
}

<强>控制器:

public ActionResult MyCalendar()
{
    // code untested; not sure of the exact syntax since I don't have VS on this machine...

    DateTime currentDate = DateTime.Now.AddDays(1 - DateTime.Now.Day);  // Make sure we start on the first that month
    DateTime endDate = currentDate.AddMonths(11);

    DateTime highlightStartDate = currentDate.AddMonths(3);
    DateTime highlightEndDate = currentDate.AddMonths(9);

    List<Month> months = new List<Month>();

    while (currentDate <= endDate)
    {
        if (currentDate >= highlightStartDate && currentDate <= highlightEndDate)
        {
           months.Add(new Month({
                         Name = currentDate.ToString("MMMM"),
                         isHighlighted = true
                     });
        }
        else
        {
            months.Add(new Month({
                          Name = currentDate.ToString("MMMM"),
                          isHighlighted = false
                      });
        }
        currentDate = currentDate.AddMonths(1);
    }

    return View(months);
}

查看:

@model List<MyMvcProject.Models.Month>

<style>
    .month { display: inline-block; float: left; }
    .highlighted { background-color: green; }
</style>

@foreach(Month month in Model)
{
   <div class="month
        @if (month.isHighlighted)
        {
            @:highlighted
        }
   ">@month.Name</div>
}