using Kendo.Mvc.UI.Fluent; namespace EnVisage.Code.Extensions { public static class KendoGridExtensions { public static GridBoundColumnBuilder AddAggregateDateTemplates(this GridBoundColumnBuilder builder, string aggrMethod) where TModel : class { const string templateFormat = "#= kendo.toString(kendo.parseDate({0}) || '', '{1}')#"; var template = string.Format(templateFormat, aggrMethod, builder.Column.Format); return builder .ClientFooterTemplate(template) .ClientGroupFooterTemplate(template); } public static GridBoundColumnBuilder ParseDate(this GridBoundColumnBuilder builder) where TModel : class { const string templateFormat = "#= kendo.toString(kendo.parseDate({0}) || '', '{1}') #"; var template = string.Format(templateFormat, builder.Column.Member, builder.Column.Format); return builder.ClientTemplate(template); } public static GridBoundColumnBuilder AddCurrencySumTemplates(this GridBoundColumnBuilder builder) where TModel : class { const string templateFormat = "#= kendo.format('{0}', sum) #"; var template = string.Format(templateFormat, builder.Column.Format); return builder .ClientFooterTemplate(template) .ClientGroupFooterTemplate(template); } } }