jQueryテーブルソータープラグインを使用して、asp.netアプリケーションのグリッドビューを並べ替えています。列インデックスをキャプチャすることはできますが、列名を取得する方法がわからないようです。
これは私がしていることです:
var currentSort;
$('#gvTickets').tablesorter({
// sort on the last column, order asc
sortList: [[9, 0]]
}).bind("sortEnd", function(sorter) {
currentSort = sorter.target.config.sortList;
});
これがhtmlです:
<div>
<table class="stretchalltable" cellspacing="0" rules="all" border="1" id="gvTickets" style="border-collapse:collapse;">
<thead>
<tr>
<th scope="col" class="header" style="cursor: pointer; ">Requester</th><th scope="col" class="header" style="cursor: pointer; ">Subject</th><th scope="col" class="header" style="cursor: pointer; ">Type</th><th scope="col" class="header" style="cursor: pointer; ">Category</th><th scope="col" class="header" style="cursor: pointer; ">Priority</th><th scope="col" class="header" style="cursor: pointer; ">Status</th><th scope="col" class="header" style="cursor: pointer; ">Due</th><th scope="col" class="header" style="cursor: pointer; ">Assigned To</th><th scope="col" class="header" style="cursor: pointer; ">Created</th><th scope="col" class="header headerSortUp" style="cursor: pointer; ">Days</th>
</tr>
</thead><tbody>
<tr>
<td>JMAULDIN</td><td><a href="ticket2.aspx?action=edit&ticket_id=7827">Van Order Entry Customer Contract Lookup Display</a></td><td>Project</td><td>Portal </td><td>Normal</td><td>On Hold</td><td> </td><td>Nathan Baker - Doozer</td><td>27-DEC-2011</td><td>133</td>
</tr><tr style="background-color:#E6E6E6;">
<td>RCRITTENDEN</td><td><a href="ticket2.aspx?action=edit&ticket_id=8190">Cap changes</a></td><td>Project</td><td>Portal </td><td>Normal</td><td>On Hold</td><td> </td><td>Nathan Baker - Doozer</td><td>02-FEB-2012</td><td>106</td>
</tr><tr style="background-color:#E6E6E6;">
<td>JMAULDIN</td><td><a href="ticket2.aspx?action=edit&ticket_id=8796">Online SRN -- Add email SRN like print SRN</a></td><td>Project</td><td>Portal </td><td>Normal</td><td>New</td><td> </td><td>Nathan Baker - Doozer</td><td>15-MAR-2012</td><td>76</td>
</tr><tr>
<td>JMAULDIN</td><td><a href="ticket2.aspx?action=edit&ticket_id=9058">SES AST field not saving correctly.</a></td><td>Project</td><td>Portal </td><td>Normal</td><td>On Hold</td><td> </td><td>Nathan Baker - Doozer</td><td>20-MAR-2012</td><td>73</td>
</tr><tr>
<td>RAVRIETT</td><td><a href="ticket2.aspx?action=edit&ticket_id=9470">Copy Project Plan (ignore deleted items)</a></td><td>Support Task</td><td>Loaned Item </td><td>Normal</td><td>New</td><td> </td><td>Nathan Baker - Doozer</td><td>24-APR-2012</td><td>48</td>
</tr><tr>
<td>TCACCAM</td><td><a href="ticket2.aspx?action=edit&ticket_id=9670">WEB: Contracts Administration</a></td><td>Support Task</td><td>Portal </td><td>High</td><td>New</td><td>14-MAY-2012</td><td>Nathan Baker - Doozer</td><td>14-MAY-2012</td><td>34</td>
</tr><tr style="background-color:#E6E6E6;">
<td>DOOZER1</td><td><a href="ticket2.aspx?action=edit&ticket_id=10041">nb test</a></td><td>Project</td><td>Portal </td><td>Normal</td><td>New</td><td>13-JUN-2012</td><td>Nathan Baker - Doozer</td><td>13-JUN-2012</td><td>12</td>
</tr></tbody>
</table>
</div>
アップデート
返信してくれてありがとう。何をしようとしても、これがうまくいかないようです。基本的に私がする必要があるのはjqueryテーブルソーターで、sortList値を変数にする必要があります。次のように表示する必要があります。
var currentSort;
$('#gvTickets').tablesorter({
// sort on the last column, order asc
sortList: currentSort
}).bind("sortEnd", function(sorter) {
currentSort = sorter.target.config.sortList;
});
currentSortをSessionに保存し、ajax呼び出しを介して取得してから、最後に表示されたのと同じ方法でグリッドを並べ替える必要があります。ユーザーがページにアクセスし、グリッドを並べ替え、ページを離れてから戻る場合は、セッション状態の範囲内である限り、前回ページに表示されたときと同じ方法で並べ替える必要があります。