액세스 dataItem 내부에 전송 합니다.읽기 기능
-
21-12-2019 - |
문제
이 질문은 거울에 이 게시물 에 Telerik 의 포럼 게재하고 있습니다 어제입니다.
나는 트로 HierarchicalDataSource 및 제 질문은 간단하다:액세스할 수 있는 현재 dataItem 에서 전송됩니다.읽는 기능입니까?
예를 들어,이 코드:
new kendo.data.HierarchicalDataSource({
transport: {
read: function(options) {
// Here i'll prepare my url to be called
return "my/controller/" + dataItem.Id;
}
}
});
에 액세스하고 싶 dataItem 의 속성을 확장 현재 노드가 내부에 읽는 기능입니다.이것이 가능한가요?
내가 노력했다 하지만 범위 안에는 기능을 제공스의 이외의 아무것도니다.
업데이트:
@OnaBai 제안했-내 경우- Value
속성을 주어,다음 모델:
{
id: "Value",
hasChildren: "HasChildren"
};
그러나고 싶은에 액세스할 수 있는 더 많은 단지 Id
그러나 전체 dataItem
.내가 하려고 했 추가 dataItem 의 또는 요구 속성을 model 지 않는 일:
{
id: "Value",
hasChildren: "HasChildren",
fields: {
ParentId: { type: "string" }
}
};
ParentId
에서 온 resquest 고서 accesible dataItem
, 지 options
안 read
기능입니다.또 다른 방법으로는 그렇게 하라고 하셨을까?
업데이트 2:
까다로운 방법이 달성될 수 있으로 설정하여 모델의 id uid
:
{
id: "uid"
}
기능 받을 것이 uid 그리고 당신은 그것을 얻을 수 있습니다 dataSource 에서으로,예를 들어, dataSource.getByUid()
.
해결책
정 Id
이 id
에서 정의한 모델을 해야 하:
new kendo.data.HierarchicalDataSource({
transport: {
read: function(options) {
return "my/controller/" + options.Id;
}
}
});
예를 참조하십시오 여기: http://jsfiddle.net/OnaBai/mE4zZ/2/
편집:액세스해야 하는 경우 전체 모델은 다음을 알 id
당신이 사용할 수 있는 get
는 방법에 대한 데이터 원본을 받고 항목입니다.
예제:
var ds = new kendo.data.HierarchicalDataSource({
transport: {
read: function(options) {
if (options.Id) {
var item = ds.get(options.Id);
// Do whatever else you need with Item
}
return "my/controller/" + options.Id;
}
}
});
수정 JSFiddle 기 http://jsfiddle.net/OnaBai/mE4zZ/3/