I must be missing something, but I cannot seem to get a DDL to bind to remote data in the edit template of a listview...
Template and script below... Any help here?
Template and script below... Any help here?
<
script
type
=
"text/x-kendo-tmpl"
id
=
"CompanyTemplateEdit"
>
...
...
<
dt
>State</
dt
>
<
dd
>
<
input
id
=
"ddlState${CompanyID}"
data-bind
=
"value:State"
name
=
"State"
/>
#renderDDLStates(data)#
</
dd
>
<
dt
>Postal Code</
dt
>
<
dd
>
<
input
type
=
"text"
data-bind
=
"value:PostalCode"
name
=
"PostalCode"
required
=
"required"
validationMessage
=
"required"
/>
<
span
data-for
=
"PostalCode"
class
=
"k-invalid-msg"
></
span
>
</
dd
>
</
dl
>
</
div
>
</
script
>
$(document).ready(
function
() {
listView.kendoListView({
dataSource: CompanySource,
template: kendo.template($(
"#CompanyTemplate"
).html()),
editTemplate: kendo.template($(
"#CompanyTemplateEdit"
).html())
}).data(
"kendoListView"
);
});
var
listView = $(
"#company_list"
);
var
CompanySource =
new
kendo.data.DataSource({
transport: {
read: {
url:
"/api/Company/"
+ $.cookie(
"C1AuthCompanyID"
),
},
update: {
url:
"/api/Company/"
+ $.cookie(
"C1AuthCompanyID"
),
type:
"PUT"
,
}
},
schema: {
model: {
id:
"CompanyID"
,
fields: {
CompanyID: { editable:
false
, nullable:
true
},
ParticipantID: { type:
"number"
},
CompanyName:
"CompanyName"
,
DBA:
"DBA"
,
CompanyNumber:
"CompanyNumber"
,
Street1:
"Street1"
,
Street2:
"Street2"
,
City:
"City"
,
State:
"State"
,
PostalCode:
"PostalCode"
,
isApproved: { type:
"boolean"
},
isActive: { type:
"boolean"
},
isDeleted: { type:
"boolean"
}
}
}
}
});
function
renderDDLStates(data) {
$(
"#ddlState"
+ data.CompanyID).kendoDropDownList({
dataTextField:
"stateName"
,
dataValueField:
"stateCode"
,
dataSource: [
{ stateName:
"Texas"
, stateCode:
"TX"
},
{ stateName:
"Pennsylvania"
, stateCode:
"PA"
}
]
});
}