#kendo-ui #kendo-treeview
#kendo-ui #kendo-просмотр дерева
Вопрос:
Вот мое древовидное представление KendoUI
:
<script src="~/scripts/kendo.all.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var regions = {
type: "odata",
transport: {
read: function (options) {
$.ajax(
{
type: "POST",
url: "Territory/AllRegions?countryID=?" options.ID,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (data) {
$("#treeview").data("kendoTreeView").dataSource.data(data);
}
});
},
},
schema: {
model: {
hasChildren: function () {
return false;
}
}
}
};
var countries = {
type: "odata",
schema: {
model: {
id: "Id",
hasChildren: "HasChildren",
children: regions
}
},
transport: {
read: function (options) {
$.ajax(
{
type: "POST",
url: "Territory/AllCountries?territoryID=?" options.ID,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (data) {
$("#treeview").data("kendoTreeView").dataSource.data(data);
}
});
}
}
};
var Territories = new kendo.data.HierarchicalDataSource({
type: "odata",
transport: {
read: function (options) {
$.ajax(
{
type: "POST",
url: "Territory/AllTerritories",
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (data) {
$("#treeview").data("kendoTreeView").dataSource.data(data);
}
});
}
},
schema: {
model: {
hasChildren: "HasChildren",
Id: "ID",
children: countries
}
}
});
$("#treeview").kendoTreeView({
dataSource: Territories,
dataTextField: ["Name", "Name", "Name"],
dataValueField:"ID"
});
});
</script>
Иерархия — это Территории-> страны-> регионы
Я вижу заполнение территорий, но я не могу получить ID
свойство выбранной территории, чтобы страны могли быть заполнены, то есть в вызове ajax,
options.ID
там не определено.
Комментарии:
1. Ссылка .. Вы можете обратиться к этому сайту.
2. Есть какие-нибудь успехи в этом? Запуск в основном то же самое.
3. Не уверен, решит ли это вашу проблему, но в рамках
success
функции ваших вызовов ajax вы должны вызывать,options.success(data);
а не использовать для этого ненужный оператор jQuery. Использованиеoptions.success(data);
загрузит источник данных, а затем по ассоциации виджет, к которому он привязан.4. существует проблема в hasChildren: «hasChildren»…