Я хотел бы добавить вычисленное поле к сетке Kendo, которую я использую. Вот надрез моего кода:Kendo Grid Calculated Variable
@{Html.Kendo().Grid<StatuteMaintenance.Data.Statute>()
.Name("mainGrid")
.Columns(c =>
{
c.Bound(e => e.Statute_Number);
c.Bound(e => e.Statute_Description);
c.Bound(e => e.Effective_Start_Date).Format("{0:MM/dd/yyyy}");
c.Bound(e => e.Expiration_Date).Format("{0:MM/dd/yyyy}");
c.Bound(e => e.VIO_Type);
c.Bound(e => e.Fine_Amount);
c.Template(e => { }).ClientTemplate("#=calculate(Exipration_Date)#");//should be handled in model.
if (Roles.IsUserInRole("NSP\\IT-Development All")) { c.Command(command => { command.Edit(); }); }
})
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Sortable()
.Filterable()
.Pageable(p => p
.Refresh(true)
.PageSizes(true)
)
.DataSource(d => d
.Ajax()
.Model(m =>
{
m.Id(e => e.TreeID);
m.Field(e => e.Statute_Number).Editable(false);
m.Field(e => e.VIO_Type).Editable(true);
m.Field(e => e.Statute_Description).Editable(false);
m.Field(e => e.Effective_Start_Date).Editable(false);
m.Field(e => e.Expiration_Date).Editable(false);
//m.Field(e => e.CurrentlyEffective).Editable(false);
}
)
.Read(r => r.Action("VioTypeGridDataSource", "VIOType"))
.Update(r => r.Action("VioTypeGridUpdate", "VIOType"))
.Sort(s => s.Add(e => e.Statute_Number).Ascending())
)
.Render();
}
<script>
function calculate(s) {
console.log(s);
result = "";
if (s.Expiration_Date < DateTime.Now) {
result = "No"
}
else {
result = "Yes"
}
return result;
}
я получаю ошибку во время выполнения, что «s» не определен.
Я правильно понял? Я просмотрел другие примеры, и ни один из них не имеет «DateTime» в своих вычислениях.
Я до сих пор получил ту же ошибку, на этот раз "expiration_date не определен". В других примерах я видел, что вся сетка заключена в сценарий. У меня есть сетка кендо, выходящая за рамки скрипта, который может быть моей проблемой. Все еще ищет решение. –
отредактируйте вопрос и вставьте текущую версию полного кода здесь, я постараюсь помочь, если вы сможете сделать это быстро. –
Я отправил полный код –