在网格中未定义Kendo UI - data-column模板函数
kendo ui - data-column template function is undefined in grid
我有两个文件:customer.js
和add-customer-template.html
。add-customer-template.html
上有如下所示的网格。
<div id="leadsGrid" data-role="grid"
data-bind="source: leadsDS"
date-scrollable="true"
data-editable="popup"
data-toolbar="['create']"
data-columns='[
{
field: "salesPerson", title: "Sales Person",
editor: "salesPersonDropDownEditor",
template: "#= getSalesPersonName(salesPerson)#"
},
{field: "date", title: "Date", format: "{0:MM-dd-yyyy}"},
{field: "expectedDate", title: "Expected Date", format: "{0:MM-dd-yyyy}"},
{field: "expectedIncome", title: "Expected Income", format: "{0:c}"},
{field: "details", title: "Details"},
{field: "description", title: "Description"},
{command: ["edit", "destroy"], title: " "}]'>
</div>
customer.js
具有salesPersonDropDownEditor
和getSalesPersonName
两种功能,如下所示。
var salesPersonDropDownEditor = function(container, options) {
$('<input data-bind="value:' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
dataTextField: "salesPersonName",
dataValueField: "salesPersonID",
dataSource: new kendo.data.DataSource({
transport: {
read: {
url: "../public/js/salesPersons.json",
dataType: "json"
}
}
})
});
}
var getSalesPersonName= function(salesPersonID) {
for (var idx = 0, length = customerAdd.salesPersonData.length; idx < length; idx++) {
if (customerAdd.salesPersonData[idx].CategoryID === customerAdd.salesPersonData.salesPersonID) {
return customerAdd.salesPersonData[idx].salesPersonName;
}
}
}
我想在列sales person
上显示下拉列表,但我得到错误salesPersonDropDownEditor
未定义。当我在salesPersonDropDownEditor
周围添加"时,它不会抛出错误。现在抛出错误getSalesPersonName
未定义
我如何调用这些函数和显示下拉列表,而从网格编辑??
这是关于使用声明性初始化(即使用data-
属性来配置网格)的负面影响之一。您必须在customer.js
文件中配置您的网格,以便它与您的函数处于相同的作用域。
add-customer-template.html
<div id="leadsGrid"></div>
customer.js
$('#leadsGrid').kendoGrid({
dataSource: leadsDS,
scrollable: true,
editable: 'popup',
toolbar: ['create'],
columns: [
{
field: 'salesPerson',
title: 'Sales Person',
editor: salesPersonDropDownEditor,
template: getSalesPersonName
},
// shortened for brevity
]
});
var salesPersonDropDownEditor = function(container, options) {
// hidden for brevity
};
var getSalesPersonName = function() {
// hidden for brevity
};
相关文章:
- Ember Data DS.Model's set函数不起作用
- ko.com在foreach$data变量上添加了write函数
- jQuery $.data() 函数的香草替代品:任何原生 JavaScript 替代品
- 重写 $.data() 函数而不使用 jQuery
- D3未捕获类型错误:path.data不是函数
- 为从AJAX调用中utlizes DATA参数的函数定义回调
- Angular Spring Data Rest-交换底层的fetch函数
- React.jsthis.props.data.map()不是函数
- 将变量从data属性传递给onclick函数
- JS - 传递给 JavaScript 函数的“data-original-title”的值
- ReactJS:this.props.data.map 不是一个函数
- Jquery Data 函数在参数表中显式命名元素时返回未定义的值
- 如何替换.data javascript函数中的逗号(使用.replace)
- 当使用 ajax 传递数据时,NVD3 折线图不显示 - data.map 不是一个函数
- 试图了解 D3 .data 键函数的工作原理
- 如何在AngularJS的模板中对data调用函数?
- 在columnSelector (Mottie's Tablesorter)中的data-column范围
- 在网格中未定义Kendo UI - data-column模板函数
- jquery升级后,无法使用.data()访问函数内部的JS变量
- 为什么我的 .data() 函数返回 [ 而不是我的数组的第一个值