Kendo Grid Paging不能运行MVC

时间:2016-09-27 13:21:25

标签: asp.net-mvc kendo-ui

我有kendogrid,分页号码还可以,每页的项目都可以,但是当我按页码时,网格中的结果没有变化,所有结果都显示在第一页。请帮助。这是我的代码。谢谢

                    $(function() {
                        $("#invoices-grid").kendoGrid({
                            dataSource: {
                                data: @Html.Raw(JsonConvert.SerializeObject(Model.Invoices)),
                                schema: {
                                    model: {
                                        fields: {
                                            JobNumber: { type: "string" },
                                            CustomerName: { type: "string" },
                                            DepartmentName: { type: "string" },
                                            DateInvoice: { type: "string" },
                                            ValidDays: { type: "number" },
                                            Delivery: { type: "string" },
                                            IsPayed: { type: "boolean" },
                                            Payed: { type: "number" },
                                            Status: { type: "boolean" },
                                        }
                                    }
                                },
                                @*type: "json",
                   transport: {
                       read: {
                           url: "@Html.Raw(Url.Action("List", "Finances"))",
                           type: "POST",
                           dataType: "json",
                           data: additionalData1
                       },

                   },
                   schema: {
                       data: "Data",
                       total: "Total",
                       errors: "Errors"
                   },*@
                                error: function(e) {
                                    display_kendoui_grid_error(e);
                                    // Cancel the changes
                                    this.cancelChanges();
                                },
                                pageSize: 20,
                                serverPaging: true,
                                serverFiltering: true,
                                serverSorting: true
                            },


                            columns: [

                                {
                                    field: "JobNumber",
                                    title: "@T("gp.Invoice.Fields.JobNumber")",
                                    template: '#= JobNumber #'
                                },
                                {
                                    field: "CustomerName",
                                    title: "@T("gp.Invoice.Fields.CustomerName")",
                                    template: '#= CustomerName #'
                                },
                                {
                                    field: "DepartmentName",
                                    title: "@T("gp.Invoice.Fields.DepartmentName")",
                                    template: '#= DepartmentName #'
                                },
                                {
                                    field: "DateInvoice",
                                    title: "@T("gp.Invoice.Fields.DateInvoice")",
                                    template: '#= DateInvoice #'
                                },
                                {
                                    field: "ValidDays",
                                    title: "@T("gp.Invoice.Fields.ValidDays")",
                                    template: '#= ValidDays #'
                                },
                                {
                                    field: "Delivery",
                                    title: "@T("gp.Invoice.Fields.Delivery")",
                                    template: '#= Delivery #'
                                },
                                {
                                    field: "Payed",
                                    title: "@T("gp.Invoice.Fields.IsPayed")",
                                    template: '#= (Payed == 2) ? "Комп." : ((Payed == 1) ? "ДЕ" : "НЕ") #'
                                },

                                {
                                    field: "Id",
                                    title: "@T("Common.Edit")",
                                    width: 100,
                                    template: '<a href="Edit/#=Id#">@T("Common.Edit")</a>'
                                },

                            ],
                            pageable: {
                                refresh: true,
                                pageSizes: [5, 10, 20, 50]
                            },
                            editable: {
                                confirmation: false,
                                mode: "popup"
                            },
                            scrollable: false,

                            selectable: true,
                            change: function(e) {
                                var selectedRows = this.select();

                                var jobId = parseInt($(selectedRows).data('job-id'));
                                var jobItemId = parseInt($(selectedRows).data('job-item-id'));

                                var result = $.get("@Url.Action("SideDetails", "Production")/" + jobItemId);

                                result.done(function(data) {

                                    if (data) {
                                        $(".job-edit .jobItemDetails").html(data);
                                    }

                                });

                            },

                            rowTemplate: kendo.template($("#invoiceRowTemplate").html()),

                        });
                    });

            </script>



       protected virtual void PrepareInvoiceFinanceListModel(FinanceListModel model,FormCollection form/*,string SearchJobItemNumber*/)
    {

        var customers = model.SearchCustomerId;
        var isChecked = model.IsChecked;
        var searchString = model.SearchJobItemNumber;
        var IsChecked1 = model.IsChecked1;
        // searchString = model.SearchJobItemNumber;/* "001/2016";*/
        //var searchString = model.SearchJobItemNumber;
        //searchString = "091/2016";
        if (model == null)
            throw new ArgumentNullException("model");

        var finishedJobs = _jobService.GetJobsByHasInvoice(false);

        finishedJobs = finishedJobs.OrderByDescending(x =>
        {
            var firstOrDefault = x.JobItems.FirstOrDefault();
            return firstOrDefault?.DateCompletition ?? new DateTime();


        }).ToList();

        foreach (var job in finishedJobs)
        {
            var jobModel = job.ToModel();

            model.FinishedJobs.Add(jobModel);
        }

        var jobsBycustomers = finishedJobs.GroupBy(x => new { x.CustomerId, x.Customer.Name }).Select(x => new JobCustomersModel()
        {
            CustomerId = x.Key.CustomerId,
            CustomerName = x.Key.Name,
            JobsCount = x.Count(),
        });

        model.FinishedJobStatus = new JobStatusesModel()
        {
            Status = _localizationService.GetResource("gp.jobs.whitout.invoice"),
            Value = (int)JobStatusEnum.Finished,
            Count = finishedJobs.Count,
            CustomersJobs = jobsBycustomers.ToList()
        };

        var invoices = _invoiceService.GetAllInvoices(searchString, isChecked, IsChecked1, customers);
        foreach (var invoice in invoices)
        {
            var inv = invoice.ToModel();
           // var a = invoice.Payed;
            model.Invoices.Add(inv);
        }
        /////////////////////             ////////////////////////
        //var allCustomers = _invoiceService.GetAllCustomers(customers);
        //foreach (var customer in allCustomers)
        //{
        //    var cust = customer.ToModel();
        //    model.SearchCustomerId = customer.CustomerId;
        //    model.Invoices.Add(cust);

        //}

        var invoiceByCustomer =
            invoices.GroupBy(x => new { x.CustomerId, x.CustomerName }).Select(x => new JobCustomersModel()
            {
                CustomerId = x.Key.CustomerId,
                CustomerName = x.Key.CustomerName,
                JobsCount = x.Count(),
            });

        model.InvoiceStatus = new JobStatusesModel()
        {
            Status = _localizationService.GetResource("gp.jobs.with.invoice"),
            Value = (int)JobStatusEnum.Finished,
            Count = invoices.Count,
            CustomersJobs = invoiceByCustomer.ToList()
        };



        var latestOffers = _offerService.GetLatestOffers(0, 10);
        foreach (var offer in latestOffers)
        {
            var offerModel = offer.ToModel();

            model.LatestOffers.Add(offerModel);
        }


    }

1 个答案:

答案 0 :(得分:1)

目前已启用服务器操作...

awk '{print $2}' file

...但serverPaging: true, serverFiltering: true, serverSorting: true 配置已被注释掉。这就是问题的原因。

如果要使用服务器操作,请配置dataSource transport。否则,请使用本地数据绑定并禁用服务器操作,如下例所示:

transport