Почему не работает шаблон клиента MVC Kendo - PullRequest
0 голосов
/ 22 февраля 2019

код - это разметка, которую по-прежнему отображает сетка, как это было до применения шаблона клиента.в консоли также есть куча ошибок.Я думал, что я следовал за документацией.Мне также нужно добавить ссылку действия в первые три столбца на страницу сведений для этого счетчика.Заранее спасибо, любая надежда будет высоко оценена

  @(Html.Kendo().Grid<cigaretteLogMVC.Models.CigaretteCountData>() // Specify the type of the grid
            .Name("Grid")
            .BindTo((IEnumerable<cigaretteLogMVC.Models.CigaretteCountData>)ViewBag.counts)
            .Columns(columns =>
            {
                columns.Bound(c => c.createdDate);
                columns.Bound(c => c.countDate);
                columns.Bound(c => c.bookQty);
                columns.Bound(c => c.actualCount).ClientTemplate("# if (edited == true ){#" +
                    "<span class='edited'>#:actualCount#</span>" +
                "# } #");
                columns.Bound(c => c.bookVsActualCount).ClientTemplate("# if (bookVsActualCount > @ViewBag.max || bookVsActualCount < @ViewBag.min ){#" +
                    "<span class='OutOfBounds'>#:bookVsActualCount#</span>" +
                "# } #");
                columns.Bound(c => c.dailyDif);
                columns.Bound(c => c.Notes).ClientTemplate(
                     "# if (Notes != null) { #" +
                    "<span class=\"k-icon k-i-tick\"></span>" +
                    "# } #"
                    );
            })
)

это ошибки

Uncaught Ошибка: неверный шаблон: '# = data && data.dirty && data.dirtyFields&& data.dirtyFields ['madeDate']?'': ''

: data.createdDate == null? '': Data.createdDate #

k-dirty-cell ':' '# "role =' gridcell '> # = data && data.dirty&& data.dirtyFields && data.dirtyFields ['countDate']? '': ''

: data.countDate == null? '': data.countDate #

k-dirty-cell ':' '#"role = 'gridcell'> # = data && data.dirty && data.dirtyFields && data.dirtyFields ['bookQty']?'': ''

: data.bookQty == null? '': Data.bookQty #

k-dirty-cell ':' '# "role =' gridcell '> # = data && data.dirty&& data.dirtyFields && data.dirtyFields ['actualCount']? '': '' ## if (edited == true) {##: actualCount ##} ## = data && data.dirty && data.dirtyFields && data.dirtyFields ['bookVsActualCount']? '': '' ## if (bookVsActualCount> @ ViewBag.max || bookVsActualCount <@ ViewBag.min) {##: bookVsActualCount ##} ## = data && data.dirty && data.dirtyFields && data.dirtyFields ['dailyDif']? '': '' </p>: data.dailyDif == null? '': data.dailyDif #

k-dirty-cell ':' '# "role= 'gridcell'> # = data && data.dirty && data.dirtyFields && data.dirtyFields ['Notes']?'': '' ## if (Notes! = null) {##} # 'Сгенерированный код:' var $ kendoOutput, $ kendoHtmlEncode = kendo.htmlEncode; with (data) {$ kendoOutput = '' + (data && data.dirty && data.dirtyFields && data.dirtyFields ['madeDate']? '': '') + '' + $ kendoHtmlEncode (data.createdDate == null? '': data.createdDate) + '' + (data &&data.dirty && data.dirtyFields && data.dirtyFields ['countDate']? '': '') + '' + $ kendoHtmlEncode (data.countDate == null? '': data.countDate) + '' + (data&& data.dirty && data.dirtyFields && data.dirtyFields ['bookQty']? '': '') + '' + $ kendoHtmlEncode (data.bookQty == null? '': data.bookQty) + '' + (data && data.dirty && data.dirtyFields && data.dirtyFields ['actualCount']? '': '') + '';if (edited == true) {; $ kendoOutput + = '' + $ kendoHtmlEncode (actualCount) + '';}; $ kendoOutput + = '' + (data && data.dirty && data.dirtyFields && data.dirtyFields ['bookVsActualCount']? '': '') + '';if (bookVsActualCount> @ ViewBag.max || bookVsActualCount <@ ViewBag.min) {; $ kendoOutput + = '' + $ kendoHtmlEncode (bookVsActualCount) + '';}; $ kendoOutput + = '' + (data && data.dirty && data.dirtyFields && data.dirtyFields ['dailyDif']? '': '') + '' + $ kendoHtmlEncode (data.dailyDif == null? '': data.dailyDif) + '' + (data && data.dirty && data.dirtyFields && data.dirtyFields ['Notes']? '': '') + '';if (Notes! = null) {; $ kendoOutput + = '';}; $ kendoOutput + = '';} return $ kendoOutput; 'в Object.compile (kendo.all.js: 198) в Object.proxy [как шаблон] (jquery-3.3.1.js: 10268) в init._tmpl (kendo.all.js: 63753) в init._templates (kendo.all.js: 63850) в новом init (kendo.all.js: 59343) в HTMLDivElement.(kendo.all.js: 2448) в Function.each (jquery-3.3.1.js: 354) в jQuery.fn.init.each (jquery-3.3.1.js: 189) в jQuery.fn.init.e.fn. (: 58432 / CigaretteGrid / анонимная функция) [as kendoGrid] (<a href="http://localhost:58432/Scripts/kendo/kendo.all.min.js:26:4889" rel="nofollow noreferrer">http://localhost:58432/Scripts/kendo/kendo.all.min.js:26:4889) в HTMLDocument. (StoreGrid? storenum = 0001432: 40)

1 Ответ

0 голосов
/ 26 февраля 2019

это то, что я нашел, что работает

    @(Html.Kendo().Grid(Model) // Specify the type of the grid
        .Name("Grid")
        .CellAction(cell =>
        {
             if (cell.Column.Title.Equals("Created Date") || 
                    cell.Column.Title.Equals("Count Date"))
            {
                cell.HtmlAttributes["onclick"] = "goToCount('" + 
                cell.DataItem.ID + "','" + cell.DataItem.countDate + "')";
            }
            if (cell.Column.Title.Equals("Actual Count"))
            {
                if (cell.DataItem.edited)
                {
                    cell.HtmlAttributes["class"] = "edited";
                }
            }

            if (cell.Column.Title.Equals("Book vs Actual Qty"))
            {
                if(cell.DataItem.bookVsActualCount > Convert.ToInt32(Session["MaxAlert"]) || cell.DataItem.bookVsActualCount < Convert.ToInt32(Session["MinAlert"]))
                {
                    cell.HtmlAttributes["class"] = "OutOfBounds";
                }
            }
            if (cell.Column.Title.Equals("Notes"))
            {
                if (cell.DataItem.Notes != null && cell.DataItem.Notes != "")
                {
                    cell.HtmlAttributes["onclick"] = "showNotes('" + 
                                            cell.DataItem.Notes + "')";
                    cell.Text = " ";
                    cell.HtmlAttributes["class"] = "far fa-comment-alt";
                }
            }

        })
        .Columns(columns =>
        {
            columns.Bound(c => c.createdDate).Title("Created Date");
            columns.Bound(c => c.countDate).Title("Count Date");
            columns.Bound(c => c.bookQty).Title("Book Qty");
            columns.Bound(c => c.actualCount).Title("Actual Count");
            columns.Bound(c => c.bookVsActualCount).Title("Book vs Actual Qty");
            columns.Bound(c => c.dailyDif).Title("Daily Difference Qty");
            columns.Bound(c => c.Notes).Title("Notes");

        })
     )
     <script>
      function goToCount(id, date) {        
       alert(id);
       //redirect here
     }

      function showNotes(notes) {
      alert(notes);
      //maybe launch a modal here 
     }
 </script>
...