Javascript 剑道ui-数据列模板函数在网格中未定义
我有两个文件:Javascript 剑道ui-数据列模板函数在网格中未定义,javascript,jquery,kendo-ui,kendo-mvvm,Javascript,Jquery,Kendo Ui,Kendo Mvvm,我有两个文件:customer.js和addcustomer template.html。在addcustomer template.html上有一个网格,如下所示 <div id="leadsGrid" data-role="grid" data-bind="source: leadsDS"
customer.js
和addcustomer template.html
。在addcustomer 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>
我想在列sales person
上显示下拉列表,但我得到的错误是SalesorsOnDropDownEditor
未定义。当我在SalesorsOnDropDownEditor周围添加“”时,它并没有抛出错误。现在它抛出错误getsalersonname
未定义
从网格编辑时,如何调用这些函数并显示下拉列表???这是关于使用声明性初始化(即使用
数据-
属性来配置网格)的一个缺点。您必须在customer.js
文件中配置网格,使其与您的函数在同一范围内
添加客户模板.html
<div id="leadsGrid"></div>
我使用的是mvvm模式,因此我已经以这种方式进行了配置。在这种模式下,我如何调用这些函数???@BrettI不必在js文件中配置网格-@Brett
<div id="leadsGrid"></div>
$('#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
};