2009-09-25 5 views
1

У меня есть DataGrid, загружаемый из хранилища данных XML, все это создано декларативно. Я хочу установить сортировку, когда данные будут загружены. Все примеры, которые я нашел, имеют дело с этим программным образом и намекают, что это должно быть выполнимо декларативно.Сортировка DataGrid Dojo декларативно

Это код, который создает источник данных.

<head> 
    <title>Untitled Page</title> 
    <style type="text/css"> 
     @import "StyleSheet.css"; 
     @import "js/dojotoolkit/dijit/themes/pfga/pfga.css"; 
     @import "js/dojotoolkit/dojo/resources/dojo.css"; 
     @import "js/dojotoolkit/dojox/grid/resources/Grid.css"; 
     @import "js/dojotoolkit/dojox/grid/resources/pfgaGrid.css"; 
    </style> 

    <script src="js/dojotoolkit/dojo/dojo.js" type="text/javascript" djConfig="parseOnLoad: true"></script> 

    <script type="text/javascript"> 
     dojo.require("dojo.parser"); 
     dojo.require("dojox.grid.DataGrid"); 
     dojo.require("dojox.data.XmlStore"); 
     dojo.require("dijit.layout.ContentPane"); 
    </script> 
</head> 

<body class="pfga"> 

<div dojotype="dojox.data.XmlStore" url="events.xml" jsID="eventStore"></div> 

<table dojoType="dojox.grid.DataGrid" store="eventStore" class="pfga" style="height:500px" clientSort="true" jsID="eventGrid"> 
    <thead> 
    <tr> 
     <th field="date" width="80px">Date</th> 
     <th field="description" width="600">Description</th> 
     <th field="DateID" sortDesc="true" hidden="false">DateSort</th> 
    </tr> 
    <tr> 
     <th field="time" colspan="3">Details</th> 
    </tr> 
    </thead> 
</table> 

</body> 
+0

Серьезно ... никто не может помочь? Поэтому, я думаю, я просто отсортирую данные в XML-файле до того, как он будет прочитан читателем. –

ответ

0

Похоже Роде начал работать, как только я добавил JSID решить мою проблему фильтрации

3

Для записи в додзё 1.5 это пары в «SortInfo» передаются Data Grid. Он использует то же соглашение, что и функция «canSort», то есть номер, обозначающий столбец (начиная с 1) и знак, указывающий направление сортировки.

Я добавил комментарий к http://docs.dojocampus.org/dojox/grid/DataGrid.

Например, эта сетка сортируется по столбцу «созданному» в «самых последних первых» порядка:

<table dojoType="dojox.grid.DataGrid" clientSort="true" selectionMode="single" 
    formatterScope="formatterScope" dojoAttachPoint="logGrid" sortInfo="-2"> 
    <thead><tr> 
    <th field="clientId" width="10%">Client ID</th> 
    <th field="created" width="20%" formatter="datefmt">Created</th> 
    <th field="message" width="30%" formatter="messagebodyfmt">Message</th> 
    <th field="token" width="10%">Token</th> 
    <th field="type" width="20%">Type</th> 
    <th field="username" width="10%">Username</th> 
    </tr> 
</table> 

Конечно ваш выбор магазина и пути он понимает директивы сортировки будут иметь дополнительное влияние , например, я использую JsonQueryRestStore, а параметр sortInfo приводит к запросу в хранилище, включая синтаксис сортировки на основе dojox.data.JsonQuery, а обработка бэкэнд-запроса должна понимать, как сортировать данные перед их возвратом.

Смежные вопросы