Monthpicker в пользовательском интерфейсе Kendo для MVC работает, но устанавливает текущий месяц при изменении фокуса с ячейки сетки - PullRequest
0 голосов
/ 04 апреля 2019

Я настроил «месяца» в ячейке сетки Кендо.Средство выбора работает нормально, и в столбце отображается ММММ гггг (например, апрель 2019 г.)

Однако, когда я перемещаю фокус с ячейки, он не устанавливает ячейку как грязную и возвращается к текущему месяцу и году.

Шаблон редактора (он называется Month.cshtml)

@model DateTime?
@{string[] formats = { "MMMM yyyy" }; }
@(Html.Kendo().DatePickerFor(m => m)
                  .Name("monthpicker")
                  .Start(CalendarView.Year)
                  .Depth(CalendarView.Year)
                  .Format("MMMM yyyy")
                  .DateInput()
                  .Culture("en-US")
                  .ParseFormats(formats)
                  .HtmlAttributes(new { style = "width: 100%", title = "monthpicker" })
)

Модель:

        [Display(Name = "Month", ResourceType = typeof(Resources.Resources))]
        [UIHint("Month")]
        public DateTime Month { get; set; }

Просмотр

@(Html.Kendo().Grid<GrindrodDataCapture.Models.MonthlyOceanPlan>()
              .Name("grid")
              .Columns(columns =>
              {
                  columns.Bound(c => c.Month).Format("{0:MMMM yyyy}");
                  //etc
              })
              .ToolBar(toolbar =>
              {
                  toolbar.Create();
                  toolbar.Save();
              })
              .Editable(editable => editable.Mode(GridEditMode.InCell))
              .Pageable()


              .Sortable(sortable =>
              {
                  sortable.SortMode(GridSortMode.SingleColumn);
              })
              .Filterable()
              .DataSource(dataSource => dataSource
                  .Ajax()
                  .Events(events => events.Error("error_handler"))
                  .Sort(p => { p.Add("Month").Descending(); })
                  .Model(model => model.Id(p => p.ID))
                  .Read(read => read.Action("MonthlyOceanPlans_Read", "MonthlyOceanPlanGrid"))
                  .Create(create => create.Action("MonthlyOceanPlans_Create", "MonthlyOceanPlanGrid"))
                  .Update(update => update.Action("MonthlyOceanPlans_Update", "MonthlyOceanPlanGrid"))
                  .Destroy(destroy => destroy.Action("MonthlyOceanPlans_Destroy", "MonthlyOceanPlanGrid"))
              )

1 Ответ

0 голосов
/ 05 апреля 2019

Я получил ответ службы поддержки Telerik, который исправил это:)

"Привет, Эван,

Я заметил, что имя редактора средства выбора даты не совпадает с именем поляредактирует. Редактор привязывается к соответствующему полю модели, используя настройку имени. В настоящее время механизм связывания будет пытаться привязать редактор к полю monthpicker модели. Однако фактическое поле в модели называется Month.

Кроме того, при использовании помощника WidgetFor вы можете не указывать конфигурацию имени, поскольку имя автоматически устанавливается на имя поля.

Не могли бы вы удалить конфигурацию имени редактораи дайте мне знать, если редактор связывает, как ожидалось? "

...