Home Kendo Grid UI Filter menu customization have an error
Reply: 0

Kendo Grid UI Filter menu customization have an error

user44202
1#
user44202 Published in September 20, 2018, 4:34 pm

I am having trouble with the filter menu customization example on (https://demos.telerik.com/aspnet-mvc/grid/filter-menu-customization). My code looks similar to it but get an error when I run my web app. However, when I run this I get an error saying:

Cannot convert lambda expression to type "bool" because it is not a delegate type.

This happens on line .Filterable(ftp => ftp.UI("persianDateFilter"))

This is my Index.cshtml file:

@using Kendo.Mvc.UI;
@using Kendo.Mvc.Extensions;

@{
    ViewBag.Title = "Employee";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<div class="container">
    <div class="row">
        @(Html.Kendo().Grid<KendoUiExample.Models.Employee>()
        .Name("EmpGrid")
        .Columns(columns =>
        {
            columns.Bound(c => c.EmployeeID);
            columns.Bound(c => c.FirstName);
            columns.Bound(c => c.LastName);
            columns.Bound(c => c.MyDate).Format("{0:yyyy/MM/dd}")
            .Filterable(ftp => ftp.UI("persianDateFilter"))
            .Width(350);
        })
        .Pageable()
        .Navigatable()
        .Selectable(selectable =>
        {
            selectable.Mode(GridSelectionMode.Single);
            selectable.Type(GridSelectionType.Row);
        })
        .Sortable(sortable =>
        {
            sortable.SortMode(GridSortMode.SingleColumn);
        })
        .Filterable(f => f.Extra(false))
        .Scrollable()
        .DataSource(dataSource => dataSource
        .Ajax()
        .Model(model => model.Id(p => p.EmployeeID))
        .Read(read => read.Action("EmployeeList", "Employees"))
        ))
    </div>
</div>

<script type="text/javascript">
    var persianDateFilter = {

        ui: function (element) {

            var newId = function () {
                var text = "";
                var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

                for (var i = 0; i < 10; i++)
                    text += possible.charAt(Math.floor(Math.random() * possible.length));

                return text;
            };

            var el0 = $(element).attr('data-bind').indexOf("filters[0]") !== -1;
            var id = "el" + newId();
            var html = function (elid, index) {
                return "<span class='k-widget'><input type='text' id='" + elid + "' style='text-align:center;' class='k-input k-textbox' data-bind='value:filters[" + index + "].value' autocomplete='false'></span>";
            };

            if (el0) {

                $(element).replaceWith(html(id, 0));

                Calendar.setup({
                    inputField: id,
                    ifFormat: '%Y/%m/%d',
                    dateType: 'jalali',
                    weekNumbers: false,
                    onUpdate: function (cal) {
                        $("#" + id).change();
                    }
                });
            } else {

                $(element).replaceWith(html(id, 1));

                Calendar.setup({
                    inputField: id,
                    ifFormat: '%Y/%m/%d',
                    dateType: 'jalali',
                    weekNumbers: false,
                    onUpdate: function (cal) {
                        $("#" + id).change();
                    }
                });
            }
        }
    };

</script>

What is my mistake?

I Use "Telerik UI for ASP.NET MVC R1 2018" version!

share|improve this question

active oldest votes

Your Answer

StackExchange.ifUsing("editor", function () { StackExchange.using("externalEditor", function () { StackExchange.using("snippets", function () { StackExchange.snippets.init(); }); }); }, "code-snippets"); StackExchange.ready(function() { var channelOptions = { tags: "".split(" "), id: "1" }; initTagRenderer("".split(" "), "".split(" "), channelOptions); StackExchange.using("externalEditor", function() { // Have to fire editor after snippets, if snippets enabled if (StackExchange.settings.snippets.snippetsEnabled) { StackExchange.using("snippets", function() { createEditor(); }); } else { createEditor(); } }); function createEditor() { StackExchange.prepareEditor({ heartbeatType: 'answer', convertImagesToLinks: true, noModals: false, showLowRepImageUploadWarning: true, reputationToPostImages: 10, bindNavPrevention: true, postfix: "", onDemand: true, discardSelector: ".discard-answer" ,immediatelyShowMarkdownHelp:true }); } });
 
StackExchange.ready( function () { StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f48721607%2fkendo-grid-ui-filter-menu-customization-have-an-error%23new-answer', 'question_page'); } );

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged asp.net-mvc razor kendo-ui kendo-grid or ask your own question.

StackExchange.ready(function(){$.get('/posts/48721607/ivc/af20');});
StackExchange.ready(function () { StackExchange.responsiveness.addSwitcher(); }) (function(i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function() { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m); })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); StackExchange.ready(function () { StackExchange.ga.init({ sendTitles: true, tracker: window.ga, trackingCodes: [ 'UA-108242619-1' ] }); StackExchange.ga.setDimension('dimension2', '|asp.net-mvc|razor|kendo-ui|kendo-grid|'); StackExchange.ga.setDimension('dimension3', 'Questions/Show'); StackExchange.ga.trackPageView(); }); /**/ var _qevents = _qevents || [], _comscore = _comscore || []; (function() { var ssl = 'https:' == document.location.protocol, s = document.getElementsByTagName('script')[0], qc = document.createElement('script'); qc.async = true; qc.src = (ssl ? 'https://secure' : 'http://edge') + '.quantserve.com/quant.js'; s.parentNode.insertBefore(qc, s); _qevents.push({ qacct: "p-c1rF4kxgLUzNc" }); /**/ var sc = document.createElement('script'); sc.async = true; sc.src = (ssl ? 'https://sb' : 'http://b') + '.scorecardresearch.com/beacon.js'; s.parentNode.insertBefore(sc, s); _comscore.push({ c1: "2", c2: "17440561" }); })();
You need to login account before you can post.

About| Privacy statement| Terms of Service| Advertising| Contact us| Help| Sitemap|
Processed in 0.38786 second(s) , Gzip On .

© 2016 Powered by mzan.com design MATCHINFO