我无法使用Kendo JSP包装器来使用移动Adaptive Grid功能。我尽可能地减少了所有东西,并且它不适用于包装器。我可以使用Javascript完美地完成所有工作。以下工作完全正常:
<div id="grid"></div>
<script>
var gridConfig = {
columns: [
{field: "name", title: "Name"},
{field: "age", title: "Age"}
],
filterable: true,
columnMenu: true,
mobile: true
};
$("#grid").kendoGrid(gridConfig);
</script>
当我在桌面浏览器中查看网格时,我的过滤器和列菜单会按预期显示。当我在手机上查看网格时,过滤器和列菜单将网格推到一边并显示为标准移动选择列表。如果我使用JSP包装器创建相同的网格,它不起作用:
<div id="grid">
<kendo:grid name="grid" filterable="true" columnMenu="true" mobile="true" >
<kendo:grid-columns>
<kendo:grid-column title="Name" field="name" />
<kendo:grid-column title="Age" field="age" />
</kendo:grid-columns>
</kendo:grid>
</div>
过滤器和列菜单显示在我的手机上,就像它们在桌面上一样,这使得它们无法使用,因为它们从查看区域滑落,当我尝试滚动到它们时消失。
我知道显而易见的问题是为什么要使用Wrappers,但我必须在整个应用程序中使用Freemarker。
我在这里缺少什么?
答案 0 :(得分:0)
我必须自己修改最新版本(2016.1.112)的来源。如果其他人有类似问题,请调整com.kendoui.taglib.GridTag.java的setMobile方法。
public void setMobile(java.lang.Object value) {
if (value instanceof String && (((String)value).equalsIgnoreCase("true") || ((String)value).equalsIgnoreCase("false"))) {
setProperty("mobile", Boolean.valueOf((String)value));
}
else {
setProperty("mobile", value);
}
}
可能会更好,但它的功能性和我现在所需的功能。