3

ソート順アイコンを Ajax WebGrid に追加する必要があります。次のアプローチが機能します。

grid.Column("Name", string.Format("Name {0}", grid.SortColumn == "Name" ? grid.SortDirection == SortDirection.Ascending ? "▼" : "▲" : "")

ただし、すべての列に適用する必要があります。

並べ替えインジケーターを 1 か所で並べ替えられた列にのみ追加する他の方法はありますか? たとえば、grid.GetHtml() の後にグリッドを変更します。

4

2 に答える 2

1

WebGrid API を使用する唯一の方法を既に見つけました。ただし、jQuery を使用して事後ソート矢印を適用できます。WebGrid.SortDirection非表示フィールドを使用してとの値を格納できWebGrid.SortColumnます。次に、パラメーターを使用してajaxUpdateCallback、グリッドが非同期的に更新された後に呼び出される関数を指定し、そのメソッド内で、隠しフィールドの値に基づいて矢印を設定できます。

function setArrows() {
    var dir = $('#dir').val(); //hidden field value
    var col = $('#col').val(); //hidden field value
    var header = $('th a[href*=' + col + ']');
    if (dir == 'Ascending') {
        header.text(header.text() + ' ▲');
    }
    if (dir == 'Descending') {
        header.text(header.text() + ' ▼');
    }
};

私はちょうどこれについて記事を書きました

于 2012-12-17T11:10:08.280 に答える