I am using a Grid having a date picker in one of the column, when the date picker is displayed in the edit mode, the date is in "dd/MM/YYYY" format so when i select a date in it displays in "dd/MM/YYYY" format but when i update with a date say 29/09/2016 i get invalid date validation error from the control, and if i change it to say 09/209/2016 it works, so the validation it does is for "MM/dd/YYYY" format. I have not added any custom validation for this, is there there any place that i need to handle this that i am doing it wrong?
columns.Bound(p => p.MyDate).Title("Date").EditorTemplateName("Date").Format("{0:dddd dd MMMM yyyy}").Filterable(false).Width(160);
Hello,
I have the next problem.I have a grid that has some columns. One of them is called 'ConfirmedValue'. I know that you use '#' to access a parent grid column in a column's clienttemplate in its subgrid-childgrid (detail template). In a clienttemplate in that subgrid I try to format that column value using:
columns.Template(e => { }).ClientTemplate("# if(ConfirmedValue) { # #= kendo.toString(ConfirmedValue, 'c3') # # } #");
But it is not working. In my browsers dev tool console I get the error "Uncaught Error: Invalid template". I assume the sintax I use is OK. When I use it in my parent grid (main grid) it works well without any problems.
I am not sure if this is a bug or if kendo does not support this kind of behaviour.
Can you please help me out? What did I do wrong?
Best regards,


I am trying to create extension method for GridBoundColumnBuilder for setting aggregate cell for column and format it. The attempt is in following style (grid_ext_1.png).
My intent is to set dataSource.Aggregates for column to count sum of all items, and ClientFooterTemplate to perform formatting of aggregate cell.
Another intent is to reduce the whole code - as I have already bound property of class to column (in the GridColumnFactory), I do not want to write another method for setting aggregate item (in the DataSourceAggregateDescriptorFactory). I have ~40 columns in one grid and it is really hurts to write method for every column 2 times.
In the case of the attached code I have an exception "Ambigous Match Found". Due to head of stack trace:
   in System.RuntimeType.GetPropertyImpl(String name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers)
   in System.Type.GetProperty(String name)
   in Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilder.<>c__DisplayClassc.<CreateProjectionMemberBindings>b__b(AggregateFunction f, Expression e)
   in Kendo.Mvc.Extensions.EnumerableExtensions.<ZipIterator>d__7`3.MoveNext()
   in System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   in System.Dynamic.Utils.CollectionExtensions.ToReadOnly[T](IEnumerable`1 enumerable)
   in System.Linq.Expressions.Expression.MemberInit(NewExpression newExpression, IEnumerable`1 bindings)
   in Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilder.CreateProjectionInitExpression()
   in Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilder.CreateAggregateFunctionsProjectionMemberBinding()
   in Kendo.Mvc.Infrastructure.Implementation.Expressions.QueryableAggregatesExpressionBuilder.<CreateMemberBindings>d__0.MoveNext()
   in System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   in System.Dynamic.Utils.CollectionExtensions.ToReadOnly[T](IEnumerable`1 enumerable)
   in System.Linq.Expressions.Expression.MemberInit(NewExpression newExpression, IEnumerable`1 bindings)
   in Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilder.CreateSelectBodyExpression()
   in Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilder.CreateSelectExpression()
   in Kendo.Mvc.Infrastructure.Implementation.Expressions.GroupDescriptorExpressionBuilderBase.CreateQuery()
   in Kendo.Mvc.Extensions.QueryableExtensions.Aggregate(IQueryable source, IEnumerable`1 aggregateFunctions)
   in Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult[TModel,TResult](IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState, Func`2 selector)
   in Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState)
   in Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable enumerable, DataSourceRequest request)
   in Kendo.Mvc.UI.DataSource.Process(DataSourceRequest request, Boolean processData)
   in Kendo.Mvc.UI.Grid`1.ProcessDataSource()
it seems that aggregates builder fails to get a property of class. But if I had an duplicate property name - I would find it at compilation time.
So, I have no idea what Kendo finds ambiguous.
Can you point out what I'm doing wrong? How to write an extension method which will satisfy my objectives correctly?
Hi,
When there is one diagram in the page like:
@(Html.Kendo().Diagram()            .Name("diagram1")            .Layout(l => l                .Type(DiagramLayoutType.Tree)                .Subtype(DiagramLayoutSubtype.Right)                .HorizontalSeparation(30)                .VerticalSeparation(20)            )            ...........)But when there is another diagram:
@(Html.Kendo().Diagram()            .Name("diagram2")            )            .Layout(l => l                .Type(DiagramLayoutType.Tree)                .Subtype(DiagramLayoutSubtype.Down)                .HorizontalSeparation(30)                .VerticalSeparation(20)            )first diagram renders also "tree down"...
So, what should I do?
Hi,
I have a view with a standalone datepicker (controller/index(DateTime? date))
@(Html.Kendo().DatePicker()      .Name("datePicker")      .Events(e => e.Change("change"))      )Now I want to have a change event to go to the same page (controller/index(date = result of the datepicker)
function change() {//something}when i Integrate sortable with listview,I found that when editable,the textbox cannot focus with mouse,only can use tab focus
the listview like this:
     @(Html.Kendo().ListView<txlcinfo.Web.Areas.Institute.Models.UserModel>()
                .Name("AllUserView")
                .TagName("div")
                .ClientTemplateId("UserTemplate")
                .DataSource(dataSource =>
                {
                    dataSource.Create(create => create.Action("Users_Create", "Home"));
                    dataSource.Read(read => read.Action("Users_Read", "Home"));
                    dataSource.Destroy(destory => destory.Action("Delete_User", "Home"));
                    dataSource.Model(model => { model.Id("ID"); });
                })                
                .Editable(edt=>edt.TemplateName("UserModelTemplate"))
                )
    @(Html.Kendo().Sortable()
    .For("#AllUserView")
    )
and the template like this :
@model txlcinfo.Web.Areas.Institute.Models.UserModel
    <div class="product UserPanel list-view-container" style="width:240px;margin:5px;" data-bind="#:ID#" data-id="#:isSelected#" data-old-id="#:isSelected#">
        <div class="row" style="margin:9px;margin-top:15px;">
            <label for="Name" class="select-period">名字</label>
            @(Html.EditorFor(p => p.Name))
            <!-- ProductName validation message placeholder -->
            <span data-for="Name" class="k-invalid-msg"></span>
        </div>
        <div class="row" style="margin:9px;">
            <label for="Name" class="select-period">性别</label>
            @(Html.Kendo().TextBoxFor(p => p.Male))
            <!-- ProductName validation message placeholder -->
            <span data-for="Male" class="k-invalid-msg"></span>
        </div>
        <div class="row" style="margin:9px;">
            <label for="PhoneNum" class="select-period">电话</label>
            @(Html.EditorFor(p => p.PhoneNum))
            <!-- ProductName validation message placeholder -->
            <span data-for="Name" class="k-invalid-msg"></span>
        </div>
        <div class="edit-buttons row" style="margin:10px;float:right;">
            <a class="k-button k-button-icontext k-update-button" href="\\#"><span class="k-icon k-update"></span>保存</a>
            <a class="k-button k-button-icontext k-cancel-button" href="\\#"><span class="k-icon k-cancel"></span>取消</a>
        </div>
        <div class="row" style="margin:5px;"></div>
        </div>
the result is the textbox cannot focus with mouse ,only can focus with ‘tab' key?
We are implementing the Kendo Scheduler as part of a time attendance manager. While it works mostly as intended, the update code is cripplingly slow for larger data sets:
In our working example for a dataset of ~770 users, the schedule.view(schedule.view().name) call takes almost 3.5 seconds.
During this time the page is completely unresponsive and it's kinda ruining the UX.
Do you have any suggestions to refreshing the schedule, with or without calling "schedule.view(schedule.view().name)", which is more responsive?
Example code:
(function () {
        var element, scheduler;
        benchmark.measure("Trigger updateFilters", function () { element = $('#scheduler'); scheduler = element.data('kendoScheduler'); });
        benchmark.measure("Trigger updateFilters", function () { element.show(); });
        benchmark.measure("Trigger updateFilters", function () {
            scheduler.dataSource.filter({
                operator: function (user) {
                    var result = true;
                    // snip for brevity //
                    return result;
                }
            });
        }, "scheduler.dataSource.filter()");
        benchmark.measure("Trigger updateFilters", function () { scheduler.view(scheduler.view().name); });
}());
(benchmark is a helper class to test timings)
Example measurements are attached.

Hi,
Now I am creating a page with a few asp .net mvc components such as bar chart, pie chart etc. Now I want to filter all of the datasource's in these components after selecting a specific value from the set of values in the listview that are being displayed on the side of the page using the script given below. 
function onChange(arg) {        var selected = $.map(this.select(), function(item) {            $("#select").html($(item).text());        }}Can someone show me how this is done using an example?
Thanks & Regards,
Adhip
