Kendo UI Grid列headerTemplate函数无法访问列定义
Kendo UI Grid column headerTemplate function does not get access to the column definition
我正在尝试使用Kendo UI网格的columns.headerTemplate功能来自定义列标题。您使用这个功能,如下所示,正如我创建的这个示例所演示的那样。通常,当使用Kendo UI模板时,小部件会将实体传递到模板函数中,这样您就可以使用各种属性来定制要渲染的html。
调试Kendo UI网格代码时,我可以看到在_headerCellText
方法中,对模板函数的调用传入了一个空对象,而不是列,即使列对象在作用域中。
text = kendo.template(template, settings)({});
在为每一列使用自定义列标题模板或更糟的方法之前,我是否可以采取其他方法——对小部件渲染的DOM进行jQuery操作?
是否有充分的理由偏离该用例框架中的通用模板模式?
// Example kendoGrid use of column.headerTemplate
var templateFunction = function(shouldBeColumn) {
// shouldBeColumn is an empty object rather than the column object
return "Useless object:" + kendo.stringify(shouldBeColumn);
};
$("#grid").kendoGrid({
dataSource: {
data: products,
pageSize: 20
},
height: 550,
scrollable: true,
columns: [
{ field: "ProductName", title: "Product Name" },
{ field: "UnitPrice", title: "Unit Price", headerTemplate: plainTemplate },
{ field: "UnitsInStock", title: "Units In Stock", headerTemplate: templateFunction }
]
});
RE:"在为每列使用自定义列标题模板之前,我可以采取另一种方法吗?或者更糟的是,对小部件渲染的DOM进行jQuery操作?"
调用一个返回函数的包装函数,因此:
function createHeaderTemplate(columnName) {
return function() {
return "Custom: " + columnName;
};
}
columns: [
{ field: 'field', headerTemplate: createHeaderTemplate('My Field') },
{ field: 'field2', headerTemplate: createHeaderTemplate('My 2nd Field') }
]
相关文章:
- 在js中访问元素时不透明度和样式未定义,但在css中定义
- UI5:如何访问视图中定义的html元素
- 访问嵌套 json 对象的属性将返回未定义
- 如何访问npm模块抛出的自定义错误对象[error:[object object]]
- 如何访问自定义 HTML 属性
- AngularJS:如何访问自定义指令中的input[date]min属性
- Uncaught ReferenceError:尝试在Android网络视图中访问时未定义函数
- UI网格:如何从自定义函数访问MODEL_COL_FIELD
- 是否可以在定义对象时访问对象值
- 如何在 Aurelia(奥雷利亚)中访问自定义元素中的变量
- 我无法访问 IIFE 中定义的变量
- 服务变量分配了数据,但在访问时始终未定义
- 尝试从我的 chrome 扩展程序访问 gmail 中的 iframe 时出现未定义的错误,但不是从开发者控制台访问
- 我如何访问在 Angular JS 的 .then() 中定义的$scope数组
- 聚合物 - 访问自定义元素内的 DOM 输入元素
- 对自定义组件中的本地访问引用进行反应
- 访问WooCommerce中定义的Javascript函数
- 访问节点js中对象内部的数组-未定义
- 我如何访问定义在从& lt; body>
- 如何访问定义为字符串的嵌套属性,而不使用eval