标签: kendo-grid

为什么更新操作没有发布任何数据?

我使用Kendo Grid进行内联编辑.当我单击"更新"按钮时,将使用此签名对我的控制器方法进行POST.控制器操作被命中,因此POST正在运行.

[HttpPost]
    public HttpResponseMessage SaveAccountAdmin(string jsonCompanyContacts)
Run Code Online (Sandbox Code Playgroud)

但是,更新操作中的POST数据永远不会到达 - 它始终为null.

update: {
              url: "/Company/SaveAccountAdmin",
              contentType: "application/json; charset=utf-8",
              type: "POST",
              dataType: "json",
              data: {
                  jsonCompanyContacts: "John Doe"
              }
          },
Run Code Online (Sandbox Code Playgroud)

这是完整的数据源代码.

var dataSource = new kendo.data.DataSource(
  {
      batch: false,
      pageSize: 10,

      transport: {
          create: {
              url: "/Company/SaveAccountAdmin",
              contentType: "application/json; charset=utf-8",
              type: "POST",
              dataType: "json"
          },

          read: {
              url: "/Company/ReadAccountAdmin"
          },

          update: {
              url: "/Company/SaveAccountAdmin",
              contentType: "application/json; charset=utf-8",
              type: "POST",
              dataType: "json",
              data: {
                  jsonCompanyContacts: "John Doe"
              }
          },
          //destroy: {},

          parameterMap: function …
Run Code Online (Sandbox Code Playgroud)

json asp.net-mvc-3 asp.net-mvc-4 kendo-ui kendo-grid

5
推荐指数
1
解决办法
4703
查看次数

如何刷新Kendo UI组合框?

我有一个ASP.Net MVC Kendo UI组合框,它被数据绑定到一个包含1000个记录的表.我已将MinLength属性设置为5,因此我只返回相关结果.问题是,用户可能需要一起更改文本值.有没有办法告诉控件刷新?

这是控件的代码......

@(Html.Kendo().ComboBoxFor(x => x.Product)
                    .Name("Product")
                    .DataTextField("Name") // Display value
                    .DataValueField("Id") //Return value
                    .MinLength(5)
                    .AutoBind(false)
                    .Suggest(true)
                    .Filter(FilterType.Contains)
                    .DataSource(source =>
                    {
                        source.Read(read =>
                        {
                            read.Action("Products", "Home").Data("onGetProducts");
                        });
                    })
                )
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc kendo-ui kendo-grid kendo-combobox kendo-asp.net-mvc

5
推荐指数
1
解决办法
1万
查看次数

如何动态更改kendo ui网格中的值

我正在使用kendo ui网格.因为我已经使用批处理模式来保存值.如果我在一行中更改记录,那么具有相应行的值也将被更改,当我们单击保存时,这两个字段将保存到数据库中.

例如.我有一个网格像:

  Integer    Value
   1         First
   2         Second
   3         Third
   4         Fourth
Run Code Online (Sandbox Code Playgroud)

如果我将值1更改为4,那么将更改4并且值也会动态更改.我的意思是我想在这里交换1和4.而且我也可以更改剩余的所有字段,但最后所有记录都必须保存到数据库中.我试过像

此代码将在网格更改功能中

 var grid = $('#grid').data("kendoGrid");
 var selectedRow = grid.select();
 var selectedRowIndex = selectedRow.index();
 console.log(selectedRowIndex);

 var firstItem = dataSource.data()[selectedRowIndex];

 var datalength = dataSource.data();
 for (var i = 0; i < datalength.length; i++)
   {
     var dataItem = datalength[i].id;
     if (dataItem == firstItem.get('id'))
       {                                
         var secondItem = dataSource.data()[i];                                
         secondItem.set('id', dataItem);                               
       }
   }
Run Code Online (Sandbox Code Playgroud)

然后值正在变化,但值在更改后未传递给控制器​​.

jquery kendo-ui kendo-grid

5
推荐指数
1
解决办法
2万
查看次数

Css - 复选框上的自定义样式不起作用

首先,我有一个剑道网格.现在我动态地向DataSource添加一个复选框,如下所示:

var chkBox =  "<input type='checkbox' id='chUpload'/><label for='chUpload'><a href='#' id='cbChoose'></a>test</label>";

var uploadedFiles = 
[
    { 
        facility: "Sunrise medical Laboratories", 
        documentName:  "Lab Results",
        documentType: "PDF",
        selected: chkBox
    }
];
Run Code Online (Sandbox Code Playgroud)

以下是复选框上实现的样式:

input[type="checkbox"]
{
    display:none;
}

input[type="checkbox"] + label a
{
    display:inline-block;
    width:14px;
    height:14px;
    margin:-1px 4px 0 0;
    vertical-align:middle;
    background:url('../images/checkBox.png') right top no-repeat;
    cursor:pointer;
    float:right;
    margin-top:10px;
    margin-right:10px;
}

input[type="checkbox"]:checked + label a 
{
    background:url('../images/checkBox.png') -1px top no-repeat;
}
Run Code Online (Sandbox Code Playgroud)

我发现这些样式适用于我添加到面板栏选项卡的其他复选框,但在网格中,没有显示任何内容.

我创建了一个jsfiddle,黑盒子是样式复选框.我已经隐藏display:none;在CSS中以查看所有文本框的位置.如果正在使用,则不会在网格中显示检查自定义框.

有什么想法吗?

javascript css checkbox kendo-grid

5
推荐指数
1
解决办法
1904
查看次数

如何在Kendo UI Grid中使用行号

我在asp.net mvc中有kendo网格,我使用服务器包装器.我想要名为"行号"的附加列,它是简单的计数器(1,2,3,...).我希望这个计数器永远不会改变客户端排序.始终第一行是1秒,第2行是......,在"RowNumber"列中

我怎么能在剑道网格中这样做?

asp.net-mvc jquery kendo-ui kendo-grid kendo-asp.net-mvc

5
推荐指数
2
解决办法
1万
查看次数

带有Kendo Grid的多列标题

我不知道这叫什么,我用headerTemplate搞砸了很多但是无法弄清楚如何产生这种外观.我需要第二行列名称在排序和过滤方面"正常行动",但我尝试的所有内容都打破了这一点.我不知道headerTemplate是否是正确的方法吗?这种分组有名称吗?我的研究结果很多,所以我怀疑我使用了错误的关键词.这个布局叫什么?

在此输入图像描述

注意:出于安全考虑,我无法发布代码转储(对图像也非常紧张).如果需要特定的东西,请告诉我,我会尝试匿名.但是,大多数情况下,我只是在寻找除了使用headerTemplate之外的其他建议.

grouping kendo-grid

5
推荐指数
1
解决办法
6962
查看次数

如何将Entity Framework 6绑定到KendoUI Grid

我用两个表创建了一个测试SQL Server数据库:WorkItem和WorkItemNote。它们之间有一个外键,因此一个WorkItem可以具有许多WorkItemNote记录。我试图在Kendo网格中显示WorkItems。该Action返回Json,但网格中未显示任何内容。
如果我仅使用要显示的属性创建一个匿名对象,它将起作用。这表示具有关系(WorkItemNote)的实体(WorkItem)无法显示在Kendo网格中。
有没有办法解决?

我的网格:

<div>
    @(Html.Kendo().Grid<TryToLoadGrid.Models.WorkItem>()
        .Name("grid")
        .HtmlAttributes(new { style = "height:380px;" } )
        .Sortable()
        .Pageable()
        .DataSource(dataSource => dataSource.Ajax().Read(read => read.Action("GetActiveWorkItems", "Home")))
        .Columns(columns =>
            {
                columns.Bound(workItem => workItem.Title);
                columns.Bound(workItem => workItem.Description);
            }
        )
    )
</div>
Run Code Online (Sandbox Code Playgroud)

我的动作代码是:

 public ActionResult GetActiveWorkItems([DataSourceRequest]DataSourceRequest request)
 {
     using (TaskManagerContext context = new TaskManagerContext())
     {
         IQueryable<WorkItem> list = context.WorkItems.Where(x => x.IsActive == true);
         DataSourceResult result = list.ToDataSourceResult(request);
         return Json(result);
     }
 }
Run Code Online (Sandbox Code Playgroud)

从“动作”中可以看出,我对网格的WorkItemNotes甚至都不感兴趣。

为了证明这是由于这种关系造成的,我创建了第二个Action,它可以正常工作并显示数据:

  public ActionResult GetActiveWorkItems2([DataSourceRequest]DataSourceRequest request)
  {
      using (TaskManagerContext context = new TaskManagerContext())
      {
          List<WorkItem> …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework kendo-ui kendo-grid

5
推荐指数
1
解决办法
5633
查看次数

如何在另一个内显示kendo模板?

我有一个用于添加/编辑的kendo弹出模板.我需要在该模板的列表视图中显示带有复选框的产品列表.我找到了此链接以创建复选框的列表视图.我如何在另一个模板中使用它.

****正在寻找类似的东西**** 在此输入图像描述

HTML

 <script type="text/x-kendo-tmpl" id="myTemplate">

        <div class="item click" value="#=ProductID#" data-bind="checked: isSelected">
            <input type="checkbox" class="click" />
            <span class="checkbox">#:ProductName#</span>
        </div>
    </script>

    <!-- Kendo popup editor template -->
    <script id="popup_editor" type="text/x-kendo-template">
        <div style="width:700px">

            <div style=" margin-left:100px">
                <label for="Product">Products </label>
                <div id="listView" class="k-listview" style="width:150px;height:250px;overflow-y:scroll;margin-top:10px">
                </div>

            </div>

        </div>
    </script>
Run Code Online (Sandbox Code Playgroud)

脚本

      $scope.productddlDataSource = new kendo.data.DataSource({
            type: "json",
            transport: {
                read: "api/product"
            }
        });

    $("#listView").kendoListView({
        dataSource: $scope.productddlDataSource,
        template: kendo.template($("#myTemplate").html())
    });

    //KENDO UI POP_UP

    $scope.gridOptions = {
        dataSource: $scope.data,
        sortable: true,
        filterable: true,
        scrollable: false, …
Run Code Online (Sandbox Code Playgroud)

javascript html5 kendo-ui angularjs kendo-grid

5
推荐指数
1
解决办法
2546
查看次数

Kendo UI指令要求在使用Html5mode的路由模板中使用带有Kendo网格的AngularJS之前可以使用jQuery

为什么kendo在使用Kendo网格的角度路由模板中加载Jquery之前.

我已经订购了脚本,同时通过角度路由模板单击任何事件,在控制台中获取此错误.

注意:在页面刷新中,脚本正确加载,应用程序正常工作,没有出现任何错误.

仅发生在事件路由中.kendo在jquery之前加载为什么.

order scripts :

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
    <script src="https://code.angularjs.org/1.3.8/angular.js"></script>
    <script src="//kendo.cdn.telerik.com/2016.2.714/js/kendo.all.min.js"></script>
    <script src="https://code.angularjs.org/1.3.8/angular-sanitize.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.js"></script>
Run Code Online (Sandbox Code Playgroud)

kendo-ui angularjs kendo-grid angular-ui-router

5
推荐指数
1
解决办法
2253
查看次数

使用OData枚举作为字段过滤网格

我正在尝试使用枚举字段过滤网格数据源。

似乎OData API已弃用/删除了在服务器端具有无前缀前缀枚举的功能。

我将以下内容添加到网格的筛选器中。

let fd1: FilterDescriptor = {
  field: 'orderStatus',
  operator: 'eq',
  value: "SOPSModel.OrderStatusEnum'Open'",
  ignoreCase: false
}
this.filter.filters.push(fd1);
Run Code Online (Sandbox Code Playgroud)

问题似乎是kendo-data-query中提供的toOdataString函数将Enum标识为字符串,然后将其引用并转义,这使得服务器端API拒绝枚举并失败。

我设置了自己的过滤器解析器,该解析器工作正常,但是使用已添加到Grid中的新过滤器选项,我确实需要一个适当的解决方案。

因此,有人可以指出我如何处理Telerik编写的OData枚举吗?

kendo-ui kendo-grid kendo-ui-angular2

5
推荐指数
1
解决办法
357
查看次数