那麼,既然沒有人回答,我想到了我自己的解決方案。我認爲這應該是DataStore框架應該內置的東西,所以我在ItemFileReadStore中找到了一個合適的方法來掛接,並將其擴展爲添加一些查詢選項以允許詳細查詢。
下面的代碼添加了兩個可用的QueryOptions參數(parentItem,parentAttribute),它們爲詳細向下查詢指定父項和父屬性。它們與「深層」選項不兼容,因爲這兩者的組合的預期結果尚不清楚。
dojo.extend(dojo.data.ItemFileReadStore, {
_getItemsArray: function(/*object?*/queryOptions) {
if (queryOptions) {
if (queryOptions.deep && queryOptions.parentItem) {
throw "Invalid query: a drill-down search can not be 'deep'"
}
if (queryOptions.deep) {
return this._arrayOfAllItems;
}
if (queryOptions.parentItem) {
if (!queryOptions.parentAttribute) {
throw "Invalid query: an attribute is required for drill-down searches.";
}
return this.getValues(queryOptions.parentItem,queryOptions.parentAttribute);
}
}
return this._arrayOfTopLevelItems;
}
});
上述代碼適用於任何人使用。
有沒有人有答案?我在這裏死去... – user4815162342 2010-12-27 21:13:19