1
我有EnhancedGrid,它根據我對數據庫的查詢從AJAX調用獲取響應後加載數據。
當我提出第一個要求時,我可以正確地看到要在網格中填充的數據。但是,我改變我的查詢它仍然加載以前的數據。我的響應從JSON數據庫返回正確的數據。重新加載數據不會發生第二個請求
我嘗試了所有可能的方式並使用螢火蟲進行調試,但無法獲得輸出。我試圖尋找類似的帖子,但仍然沒有爲我工作。任何幫助將不勝感激。
我在下面粘貼我的代碼。
_initialiseGrid:function(){
var layout = [
{'name': 'Project Name', 'field': 'projectName', 'width': '200px'},
{'name': 'Date Created', 'field': 'createdDate', 'width': '100px',formatter:this.formatDate},
{'name': 'Comments', 'field': 'senderComments', 'width': '250px',editable:true}
];
dataGrid = new dojox.grid.EnhancedGrid({
id: 'JoinProjectGrid',
structure: layout,
rowSelector: '20px',
plugins: {indirectSelection: {headerSelector:true}}},
document.createElement('div'));
}
_loadData:function(response){
var projectList=response.retrievedList;
var rowData = {
identifier: "projectId",
items: projectList
};
dataStore = new dojo.data.ItemFileWriteStore({data: rowData});
dataGrid.set("store",dataStore);
dojo.byId("gridDivForJoin").appendChild(dataGrid.domNode);
dataGrid.startup();
}
我嘗試使用:
dataGrid.setStore(dataStore)
未對第二請求工作,所以, 我用dataGrid.set(「存儲」,數據存儲區),這是不加載新的數據,但顯示以前one.I也嘗試:
clearOnClose:true, urlPreventCache:true
刷新網格和下面的代碼還用於清除在第二請求的存儲。
var newStore = new dojo.data.ItemFileReadStore({data: { identifier: "", items: []}});
dataGrid.setStore(newStore);