1

XMLデータストアからロードされるDataGridがあり、すべて宣言的に作成されています。データの読み込み時に並べ替えを設定したいのですが。私が見つけたすべての例は、これをプログラムで行うことを扱っており、宣言的に実行できるはずであることを示唆しています。

これは、データソースを作成するコードです。

<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>
4

2 に答える 2

3

記録として、dojo 1.5では、データグリッドに渡されるのは「sortInfo」パラメータです。'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を使用すると、dojox.data.JsonQueryに基づくソート構文とバックエンドを処理するストアクエリでsortInfoパラメーターの結果が得られます。クエリは、データを返す前にデータを並べ替える方法を理解する必要があります。

于 2010-09-28T09:07:23.420 に答える
0

フィルタリングの問題を解決するためにJSIDを追加すると、ソートが機能し始めたようです。

于 2009-11-23T16:57:05.127 に答える