全局设置剑道网格的 NoRecords 设置

Man*_*ota 2 kendo-ui kendo-grid kendo-asp.net-mvc

我已经在我的项目中实现了剑道网格。如果数据不存在,我想向网格显示“无可用记录”消息。我为我的网格将 noRecords 设置为 true 并且它按预期工作。现在我的项目中有这么多网格,所以我想为所有网格全局设置这个设置。

有没有办法实现?

这是我的示例代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Kendo UI Snippet</title>

    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.1.117/styles/kendo.common.min.css"/>
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.1.117/styles/kendo.rtl.min.css"/>
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.1.117/styles/kendo.silver.min.css"/>
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.1.117/styles/kendo.mobile.all.min.css"/>

    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2018.1.117/js/kendo.all.min.js"></script>
</head>
<body>
  First Grid:
<div id="grid"></div>
  Second Grid:
  <div id="grid1"></div>
<script>
$("#grid").kendoGrid({
  columns: [
    { field: "name" },
    { field: "age" }
  ],
  pageable: true,
  noRecords: {
    template: "No data available"
  },
  dataSource: {
    page: 1,
    pageSize: 10
  }
});

  $("#grid1").kendoGrid({
  columns: [
    { field: "name" },
    { field: "age" }
  ],
  pageable: true,
  dataSource: {
    page: 1,
    pageSize: 10
  }
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到一个可以工作的道场。

小智 5

嗨,您可以像这样扩展网格。您可以将其放在单独的 js 文件中,并在使用网格之前将其包含在内。

(function ($, kendo) {

var _init = kendo.ui.Grid.fn.init;
var extendedGrid = kendo.ui.Grid.extend({

    init: function (element, options) {           
        var getTemplate = function (textP, iconP) {
            var icon = iconP || 'icon';
            var text = textP || 'No data available';
            var tpl = `<div class="no-records-table"><div class="no-records-table-cell"><div class="grid-no-records-icon ${icon}"></div><div>${text}</div></div></div>`;
            return tpl;
        }

        options = $.extend({                
            noRecords: {
                template: getTemplate(options.noRecordsText, options.noRecordsIcon)
            }
        }, options);

        //call the base constructor.
        _init.call(this, element, options);                
    }               
});
kendo.ui.plugin(extendedGrid);
}(window.kendo.jQuery, window.kendo));
Run Code Online (Sandbox Code Playgroud)

你可以在这里查看道场