この質問は、昨日投稿した Telerik のフォーラムのこの投稿からのミラーです。
HierarchicalDataSource を持つ TreeView があり、質問は簡単です: transport.read 関数で現在の dataItem にアクセスできますか?
たとえば、次のコードを検討してください。
new kendo.data.HierarchicalDataSource({
transport: {
read: function(options) {
// Here i'll prepare my url to be called
return "my/controller/" + dataItem.Id;
}
}
});
read 関数内で現在展開中のノードの dataItem のプロパティにアクセスしたいと考えています。これは可能ですか?
私は多くの方法を試しましたが、その関数内のスコープでは、その関数の外には何もアクセスできません。
更新:
@OnaBai の提案はValue
、次のモデルを考えると、私の場合はプロパティで機能しました。
{
id: "Value",
hasChildren: "HasChildren"
};
しかし、それ以上にアクセスできるようにしたいのですId
が、dataItem
. モデルに dataItem または request プロパティを追加しようとしましたが、うまくいきません:
{
id: "Value",
hasChildren: "HasChildren",
fields: {
ParentId: { type: "string" }
}
};
ParentId
resquest に由来し、関数内ではアクセスdataItem
できません。それを行う別の方法はありますか?options
read
更新 2 :
モデルの id を に設定することで、これを行うためのトリッキーな方法を実現できますuid
。
{
id: "uid"
}
関数は uid を受け取り、dataSource から取得できますdataSource.getByUid()
。