私は 2 つのファイルを持っています: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
2つの機能が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
は定義されていません。
グリッドからの編集中にこれらの関数を呼び出してドロップダウン リストを表示するにはどうすればよいですか ???