Ich verwende Dojo (1.8) EnhancedGrid mit NestedSorting für meine dynamische Suche. Da jede Suche in der Anzahl der Spalten unterschiedlich sein kann, möchte ich die letzte Sortierung zurücksetzen, bevor ich setStore verwende. Wenn ich geklickt habe, um das Raster zu sortieren, fügt Dojo der letzten Anfrage die letzte Art der letzten Suche hinzu. Ich möchte ohne jedes Mal, wenn ich setNewDataToGrid() verwende, starten. Gibt es eine Möglichkeit, das zu erreichen?dojo EnhancedGrid reset nestedSort
Mein Test HTML:
<div id="testGrid"></div>
<span onClick="setNewDataToGrid();">test</span>
Mein Gitter ist:
require([
"dojox/grid/EnhancedGrid",
"dojox/data/JsonRestStore",
"dojox/grid/enhanced/plugins/NestedSorting",
"dojox/grid/enhanced/plugins/Exporter",
"dojo/domReady!",
"dojox/grid/cells/dijit"
], function(DataGrid, JsonRestStore) {
var store = new JsonRestStore({target:"/basis/contact/"});
var grid = new DataGrid({
style: "height: 400px;",
store: store,
query: "",
plugins: {"nestedSorting": true},
structure: [
{
defaultCell: { editable: false },
cells: [
{ name: "ID", field: "id", width: "50px", },
{ name: "Name", field: "p_familienname", width: "200px"},
]
}
],
selectionMode: "single"
}, "testGrid");
grid.startup();
});
Meine Reset-Funktion ist:
function setNewDataToGrid() {
require(["dojox/data/JsonRestStore"], function (JsonRestStore) {
var grid = dijitRegistry.byId("testGrid");
var dataStore = new JsonRestStore({target: "/basis/member/"});
// here I'm adding the new layout with other columns
[...]
grid.setStructure(newColumns);
//insert reset sort here!
var query = "somethingnew..."
gid.setStore(dataStore, query);
});
}