【问题标题】:Kendo Grid with LINQ to SQL带有 LINQ to SQL 的剑道网格
【发布时间】:2014-08-01 12:43:19
【问题描述】:

我是 MVC 和 Kendo 的新手,我正在尝试使用 MVC 中的 LINQ SQL 在 Kendo 中创建一个网格。我无法让它识别 '.Datasource' 'Read' 'Update' 或 'Events'

ProductQualityFileFull 是我的 SQL 数据库中的表 OptTest 是我的 SQL LINQ。

控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
using System.Web.Mvc;
using Kendo.Mvc.UI;
using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI.Fluent;
using Kendo.Mvc.UI.Html;
using BrandOperations.Web.Models;
using System.Data.EntityClient;
using System.Data.EntityModel;
using System.Data.Entity;

namespace BrandOperations.Web.Controllers
{
    public class PQAHomeController : Controller
    {
        public ActionResult Index()
        {
            OptTestDataContext context = new OptTestDataContext();
            return View(context.ProductQualityFileFulls);
        }

        public partial class GridController : Controller
        {
            public ActionResult Editing_Popup()
            {
                return View();
            }

            [AcceptVerbs(HttpVerbs.Post)]
            public ActionResult EditingPopup_Read([DataSourceRequest] DataSourceRequest request)
            {
                return Json(ProductQualityFileFull.Read().ToDataSourceResult(request));
            }

            [AcceptVerbs(HttpVerbs.Post)]
            public ActionResult EditingPopup_Update([DataSourceRequest] DataSourceRequest request, OptTestDataContext jobber)
            {
                if (jobber != null && ModelState.IsValid)
                {
                    ProductQualityFileFull.Update(jobber);
                }

                return Json(new[] { jobber }.ToDataSourceResult(request, ModelState));
            }
        }
    }
}

我的观点

@model IEnumerable<BrandOperations.Web.Models.ProductQualityFileFull>
@using Kendo.Mvc.UI;
@using Kendo.Mvc.Extensions;

@(Html.Kendo().Grid(Model)
.Name("DataGrid")
.Columns(columns =>
    {
        columns.Bound(p => p.Jobber).Title("Jobber Number");
        columns.Bound(p => p.Dealer).Title ("Dealer Number");
        columns.Bound(p => p.OptInd).Title ("Opt-In");
        columns.Bound(p => p.establish_date_time).Title("Update Date");
        columns.Bound(p => p.establish_id).Title("Update ID");
        columns.Command(command => { command.Edit(); }).Width(160); 
    })
    .ToolBar(toolbar => toolbar.Create ())
    .Editable(editable => editable.Mode(GridEditMode.PopUp))
    .Filterable()
    .Pageable()
    .Scrollable()
            .HtmlAttributes(new object { style = "height:430px;"})
    .Datasource( d => d
        .Ajax ()
        .PageSize (20)
        .Events(events => events.Error ("error_handler"))
        .Read(read => read.Action ("EditingPopup_Read", "DataGrid"))
        .Update(update => update.Action ("EditingPupup_update", "DataGrid"))
         .Sort(Sort =>
        {
             Sort.Add(Model => Model.Jobber).Desecnding;
        })

)
)
<script type="text/javascript">
    function error_handler(e) {
        if (e.errors) {
            var message = "Errors: \n";
            $.each(e.errors, function (ley, value) {
                if ('errors' in value) {
                    $.each(value.errors, function () {
                        message += this + "\n";
                    });
                }
            });
            alert(message);
        }

    } </script>

【问题讨论】:

    标签: sql asp.net-mvc linq kendo-ui kendo-grid


    【解决方案1】:

    改变这个:

    .HtmlAttributes(new object { style = "height:430px;"})
    

    到这里:

    .HtmlAttributes(new { style = "height:430px;"})
    

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-17
      相关资源
      最近更新 更多