Как заставить загрузчик даты начальной загрузки 3 работать в сетке пакетного редактирования mndc kendo
Так что я могу сделать это нормально в новых браузерах, но в IE9 при нажатии даты на указателе даты ячейка возвращается обратно как невыбранная, пустая и не грязная. Пример моего кода
МОДЕЛЬ
public string name { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}", NullDisplayText = "")]
[Display(Name = "Actual Start")]
public DateTime? ActualStartDate { get; set; }
public DateTime? ActualEndDate { get; set; }
GRID
Html.Kendo().Grid<MilestoneDto>()
.Name("editMilestoneList")
.Columns(columns =>
{
columns.Bound(m => m.Name).Title("Name");
columns.Bound(m => m.Status).EditorTemplateName("_milestoneStatus");
columns.Bound(m => m.PlannedStartDateStringValue);
columns.Bound(m => m.ProjectedStartDateStringValue);
columns.Bound(m => m.ActualStartDate).EditorTemplateName("GenericDatePicker");
columns.Bound(m => m.PlannedEndDateStringValue);
columns.Bound(m => m.ProjectedEndDateStringValue);
columns.Bound(m => m.ActualEndDateStringValue).EditorTemplateName("GenericDatePicker");
columns.Bound(m => m.CommentCount).ClientTemplate("<a href='javascript:;' onclick='callCommentModal()'>#if(CommentCount > 0) {# <span class=\"badge\">#=CommentCount#</span>#}else{#<span class=\"fa fa-plus-circle\"></span>#}#</a>").Title("Comments").Sortable(false).IncludeInMenu(false);
})
.HtmlAttributes(new { @class = "hidden results table-responsive" })
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("DataSource", "Milestone").Data("additionalParams"))
.Update(update => update.Action("BatchEdit", "Milestone"))
.Batch(true)
.Events(e => e.Sync("SyncGrid"))
.ServerOperation(false)
.Model(m => {
m.Id(mf => mf.Id);
m.Field(f => f.Name).Editable(false);
m.Field(f => f.Status).Editable(ViewBag.IsBaselined);
m.Field(f => f.PlannedStartDateStringValue).Editable(false);
m.Field(f => f.PlannedEndDateStringValue).Editable(false);
m.Field(f => f.CommentCount).Editable(false);
m.Field(f => f.ProjectedStartDateStringValue).Editable(false);
m.Field(f => f.ProjectedEndDateStringValue).Editable(false);
m.Field(f => f.ActualStartDate).Editable(ViewBag.IsBaselined);
m.Field(f => f.ActualEndDate).Editable(ViewBag.IsBaselined);
})
)
.Editable(editable => editable.Mode(GridEditMode.InCell))
.ColumnMenu()
.Filterable()
.Sortable();
}
ШАБЛОН РЕДАКТОРА
@model DateTime?
@Html.TextBoxFor(model => model, new { @class="k-textbox bootStrapDatePicker form- control" })
<script type="text/javascript">
$('.bootStrapDatePicker').datepicker({ startDate: '0', format: "m/d/yyyy", autoclose: true });
</script>
2 ответа
Это было давно, но оказалось, что проблема была в том, что версия jquery была неверной.
У вас есть два (лучше) варианта, которые будут автоматически настраивать DateTimePicker для вас:
1) В столбцах / моделях сетки используйте ActualStartDate
свойства. Тогда вы можете использовать .Format()
метод для ваших столбцов, чтобы отформатировать его так, как вы хотите.
2) Я не знаю, каков точный синтаксис, но когда вы определяете Model
в сетке, я верю, что есть DataType()
или аналогичный метод, чтобы установить его в качестве даты и времени.