首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KendoUI调度器

KendoUI调度器
EN

Stack Overflow用户
提问于 2014-02-12 15:27:49
回答 1查看 2.1K关注 0票数 0

我正在尝试实现调度器控件,以显示每天(在一周一周的视图中)对材料使用情况的实时计算。

我无法在单元格中显示使用数据,尽管我必须将资料显示在左手边。我想知道是否有人能帮上忙,或者给我一些提示,说明我做错了什么。到目前为止,我的代码如下:

我可以肯定数据正在返回到视图,但是视图没有显示使用数据,它只是与一周中特定一天的材料对应的数字值。我还附上了一张屏幕截图,介绍了它的外观:

读取数据的控制器方法:

代码语言:javascript
复制
public JsonResult Read([DataSourceRequest] DataSourceRequest request)
{
    try
    {
        var usageList = new List<ReportUsageViewModel>();

        var imports = _importRespository.GetImports();

        foreach (var usageReportStoredProcedure in imports)
        {
            var usageViewModel = new ReportUsageViewModel();

            usageViewModel.MaterialID = usageReportStoredProcedure.MaterialID;
            usageViewModel.Start = usageReportStoredProcedure.ScanDate;
            usageViewModel.End = usageReportStoredProcedure.ScanDate;
            usageViewModel.DailyUsage = usageReportStoredProcedure.UsageQuantity;
            usageViewModel.Title = usageReportStoredProcedure.UsageQuantity.ToString();

            usageList.Add(usageViewModel);
        }


        return Json(usageList.ToDataSourceResult(request));

    }
    catch (Exception exc)
    {
        ErrorHelper.WriteToEventLog(exc);
        return null;

    }
}

实际控制

代码语言:javascript
复制
<div id="StockViewer">
    @(Html.Kendo().Scheduler<WorcesterMarble.ViewModels.ReportUsageViewModel>()
    .Name("StockViewer")
    .Timezone("Europe/London")
    .Resources(resource => resource.Add(m => m.MaterialID)
        .Title("Materials")
        .Name("Materials")
        .DataTextField("Name")
        .DataValueField("MaterialID")
        .BindTo(Model.MaertiaList))
    .MajorTick(270)
    .MinorTickCount(1)

    .StartTime(DateTime.Now.Date.AddHours(8))
    .EndTime(DateTime.Now.Date.AddHours(17))
    .AllDaySlot(false)
    .Date(DateTime.Now.Date)
    .Editable(false)
    .Views(x => x.WeekView(v =>
    {
        v.Footer(false);
        v.Selected(true);
        v.DateHeaderTemplate("<span class='k-link k-nav-day'>#=kendo.toString(date, 'ddd dd/M')#</span>");
    }))
    .Group(group => group.Resources("Materials").Orientation(SchedulerGroupOrientation.Vertical))
        .DataSource(d => d
        .Model(m => {
            m.Id(f => f.MaterialID);
            m.Field(f => f.Title).DefaultValue("No title"); 
        })
        .Read("Read", "ReportUsage")
    )
    )

更新:这是实现ISchedulerEvent的ViewModel

代码语言:javascript
复制
  public class ReportUsageViewModel : ISchedulerEvent
    {
        public int MaterialID { get; set; }
        public string MaterialName { get; set; }
        public int? DailyUsage { get; set; }

        public List<MaterialViewModel> MaertiaList { get; set; }

        public string Description { get; set; }

        public System.DateTime End { get; set; }

        public bool IsAllDay { get; set; }

        public string RecurrenceException { get; set; }

        public string RecurrenceRule { get; set; }

        public System.DateTime Start { get; set; }

        public string Title { get; set; }
    }

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-16 17:14:13

问题就在这两方面:

代码语言:javascript
复制
.StartTime(DateTime.Now.Date.AddHours(8)) 
.EndTime(DateTime.Now.Date.AddHours(17)) 

数据在那里,但这两条线隐藏了它。数据在8到17的时间范围之外被记录,所以我删除了这两行,然后将主要的蜱数设置为1440,这是24小时内的蜱总数,这帮助我隐藏了时间列,因为我不需要它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21732166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档