Использование System.Web.Helpers.WebGrid - PullRequest
0 голосов
/ 24 января 2012

Я пытаюсь использовать WebGrid для отображения данных в моей модели, и у меня огромное количество проблем. Моя модель содержит среди прочего это:

public IEnumerable<Auction> Auctions { get; set; }

То, что я сделал, это:

@{
    var grid = new WebGrid(Model.Auctions, rowsPerPage: Model.PagingInfo.ItemsPerPage, defaultSort: "Title", canPage: true, canSort: true)
        {SortDirection = SortDirection.Ascending};
    grid.Pager(WebGridPagerModes.NextPrevious);
}

Я хочу отобразить некоторый текст в первом столбце в зависимости от типа аукциона в текущей строке, поэтому я написал метод в модели:

public string GetAuctionType(Auction auction)
    {
        var type = string.Empty;
        if (auction is LubAuction)
        {
            type = "Lowest unique wins";
        }
        else if (auction is EsfAuction)
        {
            type = "Highest wins";
        }

        return type;
    }

Теперь мой взгляд также содержит:

@grid.GetHtml(
        columns: grid.Columns(
                grid.Column("OwnerReference", header: "Owner reference")

            )
        );

Вопрос в том, как добавить строку grid.Columns выше для отображения текста в GetAuctionType?

Кроме того, другая проблема заключается в том, что пейджер не отображается и сортировка не работает.

Буду признателен за любую помощь.

Спасибо

Сэчины

1 Ответ

0 голосов
/ 24 января 2012

Я бы переместил логику GetAuctionType в частичный класс, чтобы вы могли обращаться к нему как к обычному свойству для каждого объекта в вашей коллекции. Вы также можете взглянуть на вопрос Формат ASP.NET MVC3 WebGrid: параметр , который охватывает использование синтаксиса формата столбца WebGrid.

Что касается других ваших проблем, вы видите какие-либо ошибки в консоли javascript?

...