我已經實現了dgrid。它非常整齊。但是,當我點擊行標題進行排序時,除了一行之外的所有行都消失了。我正在努力弄清楚爲什麼....排序時dgrid行消失
讓我們來試試吧。
DGrid,這是一個基於Dojo數據網格,見http://dojofoundation.org/packages/dgrid/
當使用這個JavaScript和HTML,並連接到可觀察的memstore,網格填充,用幾行很愉快地顯示數據。這些列是可排序的,即您可以單擊行/列標題。然而 - 這就是問題所在 - 當點擊這些行/列標題對行進行排序時,除了一行外,所有行都會消失。
使用內存(dojo/store/Memory)dGrids數據存儲工作正常 - 即行成功排序。但是,當使用Observable(dojo/store/Observable)作爲數據存儲時,排序會導致行崩潰。請看下面的例子。
排序與內存工作的偉大:
function populateGrid(Memory, message) {
var featureOne = {
"id": message[0].attributes["id"],
"Col2": message[0].attributes["Col2"],
"Col3": message[0].attributes["Col3"]
}
var featureTwo = {
"id": message[1].attributes["id"],
"Col2": message[1].attributes["Col2"],
"Col3": message[1].attributes["Col3"]
}
var data = [feature1, feature2];
var memStore = new Memory({ data: data });
window.queryRecordsGrid.set("store", memStore);
}
使用時,可觀察到出現的錯誤:
var memStore;
function populateGrid(Memory, message) {
var feature = {
"id": message[0].attributes["id"],
"Col2": message[0].attributes["Col2"],
"Col3": message[0].attributes["Col3"]
}
var data = [feature];
if (!window.memStore) {
window.memStore = new Observable(new Memory({ data: data }));
window.grid.set("store", window.memStore);
} else {
window.grid.store.notify(feature, feature.id);
}
}
不是。這仍然只是一個口頭描述。請包括[代碼的相關部分](http://stackoverflow.com/help/mcve),並解釋您想要完成的內容以及結果與預期結果的不同之處。包含您收到的任何錯誤消息。請閱讀[問]好問題和Jon Skeet的博客文章[撰寫完美問題]的建議(http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question。 ASPX)。請特別注意「黃金法則」,但我強烈建議您閱讀整篇文章。 –