0
私の剣道ツリービューのために、ロードオンデマンドをtrueに設定していますが、データストアモデルの 'children'プロパティが空の場合でも 'children'プロパティが設定されているため、Kndo TreeView LoadOnDemandサーバーに当たっていない
homogeneous = new kendo.data.HierarchicalDataSource({
transport: {
read: {
type: 'POST',
contentType: "application/json; charset=utf-8",
url: obj.DataSourcesURL,
dataType: "json"
},
parameterMap: function (options) {
if (!options.Id) {
options.Id = null;
}
if (options.filter) {
options.Search = options.filter.filters[0].name;
}
else {
options.Search = '';
}
return JSON.stringify(options);
}
},
schema: {
data: "d",
errors: function (response) {
console.log(response);
console.log("errors");
},
model: {
hasChildren: "hasChild",
children:'items',
id: "Id"
}
}
});
コントロールとTreeViewコントロールのコードは、あなたのスキーマ内にこのようなhasChildren
を設定する
$treeView.kendoTreeView({
dataTextField: 'Description',
checkboxes: {
checkChildren: true
},
dataSource: homogeneous,
loadOnDemand: loadOnDemand,
check: function() {
var checkedNodes = [];
var treeView = $treeView.data("kendoTreeView");
getCheckedNodes(treeView.dataSource.view(), checkedNodes);
setMessage(checkedNodes.length);
},
dataBound: function (e) {
if (e !== undefined)
resetCheckedNodes(e.sender.dataItems());
},
messages: {
loading: "Laden..."
},
expand: function (e) {
var dataItem = this.dataItem(e.node);
}
});
モデルから子プロパティを削除すると、ルートレベルのデータは取得されますが、子データは取得されませんが、すべて削除され、すべてのデータを(たとえば検索結果として)ロードしようとすると、表示されていません – Mudallal
構造を見たり、応答がどのように見えるかをダミーのデータ構造にするために、データ応答の一部を利用できますか?子どもは「アイテム」と言うと、あなたの子供は次のようになります: '{{ParentId:123、 名前:何か、 アイテム:{Id:1234、名前:childName}}'あなたの子供を表す。 ID:260、 "説明": – error505
{"__type": "EDTS.ViewModel.DataTypes.TreeStructureViewModel"、 "ParentId":null、 "hasChild":true、 "items":null、 "expanded":false "Description 1"}、アイテムは返されたオブジェクトに存在しますが、ロードされていないとしてnull値があることに注意してください。 – Mudallal