2012-11-11 134 views
0

我在网格编辑(GridEditMode.InCell)中使用ASP.NET MVC 4和Telerik的KendoUI网格控件。我能够看到网格中的数据和编辑数据,但问题是,当我点击单元格进行编辑时,我没有得到Kendo UI控件(DatePicker,...)。我得到编辑的控件是纯白的,没有任何样式。当我在页面上添加任何Kendo控件时,我会得到正确的控制权,例如DatePicker控件。所以风格和控制'js在那里。唯一的问题是我没有得到网格内的剑道控制。KendoUI网格InCell编辑风格问题

Index.cshtml

@using Kendo.Mvc.UI 
@using KendoGrid.Models 
@(Html.Kendo().Grid<Person>()  
    .Name("Grid")  
    .Columns(columns => {   
     columns.Bound(p => p.FirstName).Width(140); 
     columns.Bound(p => p.LastName).Width(140); 
     columns.Bound(p => p.DayOfBirth).Width(200); 
          columns.Bound(p => p.Age).Width(150); 
     columns.Command(command => command.Destroy()).Width(110); 
    }) 
      .ToolBar(toolbar => 
      { 
       toolbar.Create(); 
       toolbar.Save(); 
      }) 
    .Editable(editable => editable.Mode(GridEditMode.InCell)) 
    .Pageable() 
    .Sortable() 
    .Scrollable() 
    .DataSource(dataSource => dataSource   
     .Ajax()   
     .Batch(true) 
     .ServerOperation(false) 
     .Events(events => events.Error("error_handler")) 
     .Model(model => model.Id(p => p.Id)) 
     .Read("Read", "Grid") 
     .Create("Create", "Grid") 
     .Update("Update", "Grid") 
     .Destroy("Destroy", "Grid") 
    ) 
    ) 

      <div style="margin-top: 20px"> 
     @(Html.Kendo().DatePicker() 
       .Name("datepicker") 
       .Value("10/10/2011") 
       .HtmlAttributes(new { style = "width:150px" }) 
     ) 
    </div> 
<script type="text/javascript"> 
    function error_handler(e) { 
     if (e.errors) { 
      var message = "Errors:\n"; 
      $.each(e.errors, function (key, value) { 
       if ('errors' in value) { 
        $.each(value.errors, function() { 
         message += this + "\n"; 
        }); 
       } 
      }); 
      alert(message); 
     } 
    } 
</script> 

_Layout.cshtml

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta charset="utf-8" /> 
    <title>@ViewBag.Title</title> 
    <link rel="stylesheet" href="@Url.Content("~/Content/kendo.common.min.css")"> 
    <link rel="stylesheet" href="@Url.Content("~/Content/kendo.default.min.css")"> 
    <link rel="stylesheet" href="@Url.Content("~/Content/examples-offline.min.css")"> 
    <script src="@Url.Content("~/Scripts/jquery.min.js")"></script> 
    <script src="@Url.Content("~/Scripts/kendo.web.min.js")"></script> 
    <script src="@Url.Content("~/Scripts/kendo.aspnetmvc.min.js")"></script> 
    <script src="@Url.Content("~/Scripts/console.min.js")"></script> 
    <script src="@Url.Content("~/Scripts/prettify.min.js")"></script> 
    @RenderSection("HeadContent", false) 
</head> 
<body> 
    <div class="page"> 

     <div id="example" class="k-content"> 
      @RenderBody() 
     </div> 

    </div> 
</body> 
</html> 

也就是说DatePiker控制阿英怎么看起来像现在 That is how it looks right now

这就是DatePicker的外观。 That is how it should look like

在此先感谢。

真诚, 弗拉德

+0

你有Firebug吗?如果是这样,Net面板是否显示任何CSS文件的404错误? –

+0

@Tieson T.我在Chrome中检查过,没有错误。另外,就像我刚才提到的,如果我将它作为控制台使用,但是没有并网控制,那么同样的控制也是可以的。 –

回答

1

最可能的是你缺少下意见的EditorTemplates /共享/ EditorTemplates文件夹中。检查它们包含它的离线演示(因为您共享了截图;))。

将它们使用相同的名称复制并粘贴到解决方案中。

+0

非常感谢!就是这样。 –