标签: kendo-asp.net-mvc

如何在 MVC 应用程序中转置 Kendo UI 网格中的行和列?

我在 MVC 应用程序中使用 Kendo Ui Grid。我希望在我的网格中显示多个国家/地区的统计数据。我从数据库检索数据的方式,我的网格将显示类似于以下内容的数据:

Country    Area       Population    GDP      GDP Growth
India      3288000    1220200000    1.848    6.8
USA        9827000    314686189     15.09    1.7
Run Code Online (Sandbox Code Playgroud)

但我希望它显示如下而不是上面的格式:

Country          India         USA            
Area             3288000       9827000        
Population       1220200000    314686189
GDP              1.848         15.09    
GDP Growth       6.8           1.7      
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这种换位?

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

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

如何编辑 Kendo MVC Grid 的本地数据

根据 Telerik 网站上有关数据本地绑定的文档:

服务器 - 小部件在进行分页、排序和过滤时执行服务器端请求 (HTTP GET)。

Ajax - 小部件在进行分页、排序、过滤、分组或保存数据时将发出 Ajax 请求。

这是否意味着目前无法使用 Kendo 的 MVC Grid 在本地编辑数据?

我的目标是能够编辑网格,然后将整个页面以及模型的其他部分提交回服务器,并将数据全部保存在一起,而不是进行 ajax 调用来将数据保存在网格中。

使用下面的代码我可以加载网格,但是编辑单元格不会持续存在,并且当我转到后退页面时,数据不会绑定模型。

        @(Html.Kendo().Grid<LaborTimeViewModel>(Model.LaborTimes)
        .Name("Grid")
        .Columns(columns =>
        {
            columns.Bound(p => p.Procedure).ClientTemplate("#=Procedure ? Procedure.ProcedureDescription : ''#").EditorTemplateName("ProcedureEditor");
            columns.Bound(p => p.PerformedBy).ClientTemplate("#=PerformedBy ? PerformedBy.UserDescription : ''#").EditorTemplateName("UserEditor");
         columns.Bound(p => p.LaborTime).ClientTemplate("#if (LaborTime) {# #:kendo.toString(LaborTime.Hours, '00')#:#:kendo.toString(LaborTime.Minutes, '00')#:#:kendo.toString( '00')# #}#").EditorTemplateName("TimePickerEditor"); //.EditorTemplateName("NumericEditor");

        })
        .Editable(editable => editable.Mode(GridEditMode.InCell))
        .Pageable()
        .Sortable()
        .Scrollable()
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(20)
            .ServerOperation(false) 
            .Model(model =>
                {
                    model.Id(p => p.WONumber);
                    model.Id(p => p.PerformedBy);
                    model.Id(p => p.TimerStart); …
Run Code Online (Sandbox Code Playgroud)

kendo-grid kendo-asp.net-mvc

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

Kendo:保存和恢复网格状态时如何保留工具栏?

我保留了通用标题,因为我不在乎得到的答案是 jquery、javascript 还是专门针对 MVC。

我有这个代码来保存和加载网格:

$("#save").click(function() {
var grid = $("#grid").data("kendoGrid");

var dataSource = grid.dataSource;

var state = kendo.stringify(grid.getOptions());


$.ajax({
    method: "POST",
    url: "/ebol/savegrid",
    data: {
        data: state
    }
});
});

$("#load").click(function () {
var grid = $("#grid").data("kendoGrid");

var dataSource = grid.dataSource;

$.ajax({
    url: "/ebol/loadgrid",
    success: function (options) {
        if (options) {
            grid.setOptions(JSON.parse(options));
        }
    }
});
});
Run Code Online (Sandbox Code Playgroud)

问题:我可以保存网格的状态(包括列顺序、过滤器等),但是当我使用加载按钮恢复它时,网格的命令列消失了。
在此输入图像描述

如何在恢复过程中保留这些按钮?

kendo-asp.net-mvc

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

Kendo UI MVC Grid Popup 编辑器显示格式化的日期字段

我有一个带有自定义弹出编辑器的 mvc 网格,我想在其中显示日期时间。使用这种类型的绑定时如何格式化日期?

<span type="date" data-format="MM/dd/yyyy" data-bind="text: CreatedOn"></span>
Run Code Online (Sandbox Code Playgroud)

但仍然显示为: Thu Jun 18 2020 12:43:48 GMT-0500 (Central Daylight Time)

kendo-grid kendo-asp.net-mvc

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

我们可以将Kendo网格数据源配置为同步

我们可以将Kendo网格数据源配置为同步

  .DataSource(dataSource =>
           dataSource.Ajax()

  .Model(model =>
    {
  .Read(read => read.Action("Products_Read", "Home")))
  .......


  $("#grid").data("kendoGrid").dataSource.read();
Run Code Online (Sandbox Code Playgroud)

这是一个Ajax异步调用.如果是这样,我们可以调用同步调用.请建议我一个解决方案.谢谢.

kendo-grid kendo-asp.net-mvc

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

ASP.Net MVC Kendo Grid的自定义分页

我有一个MVC Kendo Grid如下.它可以正常使用默认分页.

现在,我想做自定义分页.在控制器操作中,我们需要知道当前页面索引.它还应该设置网格的"总"计数.[即使数据库中有100条记录,实际数据源一次也只有2条记录.因此,网格必须使用"total"属性知道数据库中的记录总数.

查询一次只能返回数据库中的2条记录.

我们如何使用Kendo Grid的MVC包装器来执行此自定义服务器分页?

@using (Html.BeginForm())
{ 

    @(Html.Kendo().Grid<KendoUIMvcSample.Models.Sample>()    
    .Name("ssgrid222")
    .Columns(columns => {
        columns.Bound(p => p.SampleDescription).Filterable(false).Width(100);
        columns.Bound(p => p.SampleCode).Filterable(false).Width(100);
        columns.Bound(p => p.SampleItems).Filterable(false).Width(100);
    })
    .AutoBind(false)
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .HtmlAttributes(new { style = "height:430px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(2)
        .Read(read => read.Action("Orders_Read", "Sample")
)
     )
  )
}
Run Code Online (Sandbox Code Playgroud)

调节器

public ActionResult Orders_Read([DataSourceRequest]DataSourceRequest request)
        {

            int currentPageNumber = request.Page;
            return Json(GetOrders().ToDataSourceResult(request));
        }
Run Code Online (Sandbox Code Playgroud)

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

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

如何改变剑道网格的文化?

我想将Kendo Grid文化更改为nl-NL。。我在互联网上进行了研究,他们建议我只需要包含该文化的dll。。我已经做到了,并且我也引用了相同的内容。我也使用Kendo.Culture(“ nl-NL”); 还是行不通

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

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

Kendo Grid阻止默认请求

有没有办法防止默认的ajax请求?我将在java脚本中进行所有配置之后刷新网格,然后我开始请求,但不知何故,这个kendo网格是在加载页面时自动请求数据.

@(Html.Kendo().Grid<Data>()
    .Name("grid")
    .HtmlAttributes(new { Class = "acceleratorGrid" })
    .TableHtmlAttributes(new { Class = "styled", cellpadding = "0", border = "0", margin = "0" })
    .Events(e => e.Change("onChange"))
    .DataSource(dataSource => dataSource // Configure the grid data source
                                .Ajax() // Specify that ajax binding is used
                                .Read(read => read.Action("Products_Read", "Home")) // Set the action method which will return the data in JSON format
    )
    .Columns(columns =>
                {

                    columns.Bound(product => product.ProductID).Template(@<text></text>).ClientTemplate("<input type='checkbox' onclick='return false' name='checkedRecords' />");
                    columns.Bound(product => product.ProductName);
                    columns.Bound(product => product.UnitsInStock);
                } …
Run Code Online (Sandbox Code Playgroud)

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

4
推荐指数
1
解决办法
5770
查看次数

具有数据注释的KendoUI网格默认值

我正在使用带有ASP.NET MVC助手的Kendo UI Grid和自动生成的列.

[DefaultValue(60 * 60)]我的视图模型中有注释,但剑道助手似乎并不尊重这一点.

我是否可以指定默认值(可能包含数据注释)而无需手动描述列?

asp.net-mvc data-annotations kendo-ui kendo-grid kendo-asp.net-mvc

4
推荐指数
1
解决办法
3778
查看次数

Kendo grid的Select命令操作配置

在Edit和Destroy中,Kendo网格也有一个Select命令.但似乎这个操作没有配置.你知道我怎么用吗?任何更好的JS绑定方式,如自定义命令?请注意,它没有click事件.

这条线在我的Kendo网格,列部分.

columns.Command(command => { command.Select(); command.Edit(); command.Destroy(); });
Run Code Online (Sandbox Code Playgroud)

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

4
推荐指数
1
解决办法
898
查看次数