我有一列OnDemandGrid,我想用我構建的自定義Dojo小部件填充一列。用於填充每個這些小部件的數據來自Solr查詢。由於我期待可能有數以千計的搜索結果,因此我需要使用JsonRest對象來進行查詢並處理分頁。這是我到目前爲止有:使用Solr和JsonRest填充OnDemandGrid與自定義Dojo小部件
商店:
var store = new JsonRest ({
target: "/solr/json/response",
});
創建網格:
var grid = new (declare([OnDemandGrid, Pagination])) ({
store: store,
getBeforePut: false,
columns: [
{
label: "Test",
field: "first",
renderCell: myRenderFunction //To render the custom widget
}
]
}, "grid");
grid.startup();
myRenderFunction:
var myRenderFunction = function(object, data, cell) {
var widget = new MyCustomWidget({
doc: object,
foo: bar
}, cell.appendChild(document.createElement("div"));
widget.startup();
return widget;
}
樣品Solr的響應,以JSON形式:
{
"response":{
"docs":[
{
"foo": "Hello",
"bar": "World"
},
{
"foo": "Easy as",
"bar": "ABC"
},
{
"foo": "Simple as",
"bar": "Do re mi"
}
]
},
"highlighting": { ... },
"numFound": "74",
"start": 0
}
我已經在線演示瞭如何使用JsonRest和任何dgrid風格(以及它們都工作)來做到這一點,但是當我嘗試將小部件呈現給網格時,什麼也沒有顯示出來,我得到了一個TypeError: transform(...) is null
。
是否有任何理由不能將我的小部件呈現給網格?