2012-12-11 20 views
3

我應該將排序順序圖標添加到Ajax WebGrid。以下方法有效:排序順序圖標。如何在一個地方修改WebGrid標題?

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

但是應該應用於每一列。

是否有任何其他方法將排序指標添加到排序列在一個地方?例如,在grid.GetHtml()之後修改網格。

回答

1

您已經找到使用WebGrid API的唯一方法。不過,您可以在使用jQuery之後應用排序箭頭。您可以使用隱藏字段來存儲WebGrid.SortDirectionWebGrid.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() + ' ▼'); 
    } 
}; 

我剛纔written an article這個。