Kendo UI Web Grid 自适应渲染是不是独立于 Kendo 移动应用程序?

Posted

技术标签:

【中文标题】Kendo UI Web Grid 自适应渲染是不是独立于 Kendo 移动应用程序?【英文标题】:Is the Kendo UI Web Grid adaptive rendering independent of the Kendo mobile application?Kendo UI Web Grid 自适应渲染是否独立于 Kendo 移动应用程序? 【发布时间】:2014-05-29 23:57:48 【问题描述】:

我正在试用最新的 Kendo UI Web 版本,以便在我们的应用程序中使用它,尤其是 Grid 组件。

如图here 所示,如果mobile 属性设置为“手机”或“平板电脑”,则网格能够在移动设备或任何浏览器中自适应呈现。但是,我无法让它在我的代码中工作。

有谁知道自适应渲染是否独立于 Kendo UI Web 中的移动应用程序功能,或者是否要求任何自适应网格作为 Kendo UI 移动应用程序的一部分运行?

我怀疑是后者。我当前的代码只是使用移动属性设置为“phone”的非移动网格示例,并且我没有实例化任何 Kendo 移动应用程序实例(例如 kendo.mobile.Application(document.body))。

谢谢, 克里斯。

ps。在 Taras 的回复之后,我有一些代码可以演示我的问题,改编自他的:

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

    <title></title>

    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

    <script src="/assets/libraries/kendoui.web/2014.1.318/js/kendo.web.min.js"></script>
    <link href="/Assets/Libraries/KendoUI.Web/2014.1.318/styles/kendo.common.min.css" rel="stylesheet" type="text/css" />
    <link href="/Assets/Libraries/KendoUI.Web/2014.1.318/styles/kendo.rtl.min.css" rel="stylesheet" type="text/css" />
    <link href="/Assets/Libraries/KendoUI.Web/2014.1.318/styles/kendo.default.min.css" rel="stylesheet" type="text/css" />

</head>

<body>

    <div id="grid"></div>
    <script>
        $("#grid").kendoGrid(
            columns: [
               field: "name" ,
               field: "age" ,
               field: "name" ,
               field: "age" ,
               field: "name" ,
               field: "age" ,
               field: "name" ,
               field: "age" ,
               command: "destroy" 
            ],
            dataSource: [
               name: "Jane Doe", age: 30 ,
               name: "John Doe", age: 33 
            ],
            filterable: true,
            columnMenu: true,
            mobile: "phone"
        );
    </script>

</body>
</html>

【问题讨论】:

【参考方案1】:

Kendo UI 自适应渲染是独立移动应用程序功能的一部分。 此外,它可以自动检测正在使用的设备类型并应用所需的渲染样式。 您只需将 mobile: true(或手机或平板电脑)添加到网格构造函数即可启用此功能

 <div id="grid"></div>
<script>
$("#grid").kendoGrid(
   columns: [
      field: "name" ,
      field: "age" ,
      command: "destroy" 
   ],
   dataSource: [
      name: "Jane Doe", age: 30 ,
      name: "John Doe", age: 33 
   ],
   filterable: true,
   columnMenu: true,
   mobile: true
);
</script>

如果您设置为 true,则脚本会更改样式和行为以保持与设备体验一致(请参阅移动浏览器中的不同运行页面)。如果您设置 mobile:phonemobile:tablet,您将在移动和桌面浏览器中看到相同的结果,并且自动检测设备功能关闭。

查看示例:http://docs.telerik.com/kendo-ui/getting-started/web/grid/adaptive

【讨论】:

感谢您的回复。正如我的问题中所解释的那样,这就是我一直在做的事情,但我没有看到自适应行为,所以我仍然不相信它是独立的。我已经尝试过您的简单提取,但在调整大小时它不适应。我会将我的代码粘贴到我的问题中。 如何将 kendo.mobile.all.min.css 添加到您的页面? Taras,我将您的答案标记为答案,因为您花时间放置示例。问题是我误解了 Telerik 网格的“适应性”。我得到了用于编辑和列更改的替代形式,但我也希望网格能够自动响应设备宽度的变化,这不是我能说的。谢谢。

以上是关于Kendo UI Web Grid 自适应渲染是不是独立于 Kendo 移动应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

带有自定义JSON Web服务器的Kendo UI Grid - “未捕获的TypeError:this.replace不是函数”

如何在 kendo.ui.grid 中创建自定义 kendo.ui.Window 以进行编辑

Kendo UI Grid:自定义下拉提供程序在视图模式下不显示文本

MVC Kendo UI Grid = 自定义按钮无法返回选定的行 ID

html [kendo] [web]使用Kendo Grid的自定义编辑器

Kendo UI Web Grid、虚拟滚动和动态复选框