Kendo MVC - 在网格中需要 DatePicker

Posted

技术标签:

【中文标题】Kendo MVC - 在网格中需要 DatePicker【英文标题】:Kendo MVC - Need DatePicker in a Grid 【发布时间】:2020-01-14 19:25:49 【问题描述】:

我有以下带有日期选择器的网格:

 @(html.Kendo().Grid<ScheduleViewModel>()
        .Name("ScheduleGrid")
        .AutoBind(true)
        -
        )
        .Editable(editable => editable.Mode(GridEditMode.InCell))
        .Columns(columns =>
        
            columns.Bound(s => s.Name).Title("Schedule").Filterable(true).Width(150).HtmlAttributes(new  style = "text-align: left" );
            columns.Bound(s => s.StartTime).Width(100).Title("Start Time").ClientTemplate((
              @Html.Kendo().DatePicker()
               .Name("StartTimePicker")
               .Value("#=StartTime#")
               //.Format("0:dd/MM/yyyy")
               .ToClientTemplate()).ToHtmlString());
            columns.Bound(s => s.Enabled).Width(100).ClientTemplate("<input type='checkbox' #=Enabled ? checked='checked' : '' # class='sda-checkbox' />").HtmlAttributes(new  @class = "text-center" );
            columns.Command(command => command.Custom("Save").Click("saveSchedules")).Width(80).HtmlAttributes(new  @class = "text-center" );
        )

但是,日期选择器无法正确显示。相反,它只是一个文本框。我做错了什么?

编辑(我也改用时间选择器而不是日期选择器)

我按照@FrozenButcher 的建议做了,但这仍然不起作用。这就是现在发生的事情:

打开页面,你会得到这个,它看起来不像时间选择器,但确实如此。没有时钟图标,看不到数值:

点击方框,你会得到这个:

显然您现在可以看到时间,但没有时钟图标。

最后,点击第二行的时间选择器,你会得到这个:

非常感谢任何帮助解决此问题。

【问题讨论】:

【参考方案1】:

您必须确保输入的唯一 ID,日期选择器的包装器是通过 name 属性定义的。

将其更改为动态名称.Name("StartTimePicker"+ lineNumber)

【讨论】:

谢谢。在上面的编辑中,我描述了现在发生的事情。添加一个唯一的名称使这变得更好,但我仍然有问题。

以上是关于Kendo MVC - 在网格中需要 DatePicker的主要内容,如果未能解决你的问题,请参考以下文章

具有可编辑枚举列的 Kendo MVC 网格

单击用于 MVC 的 kendo ui 网格中的单元格时需要行索引和列标题

弹出窗口在 Kendo UI 网格中的工作原理以及如何在 MVC4 的 Kendo UI ajax 网格中将控件带入弹出窗口

如何在 MVC 应用程序中转置 Kendo UI 网格中的行和列?

如何根据 kendo ui mvc 网格中的条件格式化行

Kendo MVC - 持久化和加载网格按钮