Формат заголовка для WebGrid - PullRequest
3 голосов
/ 24 марта 2011

Я только что прочитал: http://www.mikesdotnetting.com/Article/154/Looking-At-The-WebMatrix-WebGrid и вижу ссылку на [Optional, Default Value(null)] string header

Текст заголовка, если вы не хотите имен полей базы данных

Но я не уверен, как форматировать значения ячеек. Например, если у меня есть WebGrid, который выглядит следующим образом:

Column Name          Column Name          Column Name          Column Name          
Cell value           Cell value           Cell value           Cell value           
Cell value           Cell value           Cell value           Cell value           
Cell value           Cell value           Cell value           Cell value           
Cell value           Cell value           Cell value           Cell value           
Cell value           Cell value           Cell value           Cell value           

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

Можно ли это сделать с помощью WebGrid? Я сделал это на PHP, но понятия не имею, где искать и как это сделать с помощью WebGrid.

При поиске в Google, Bing и Yahoo! (?) Я вижу только результаты для этих премиальных компонентов WebGrid, но ни один результат для реальной WebGrid, и никаких результатов, которые могли бы помочь.

1 Ответ

2 голосов
/ 24 марта 2011

В статье Майка DotNetting, на которую вы ссылаетесь, он показывает, как отобразить короткую дату в следующей строке кода:

format: @<text>@item.DatePublished.ToShortDateString()</text>

Поскольку формат заменяет всю ячейку, вам просто нужно поместить код, который генерирует нужный вам HTML, включая гиперссылки. Поскольку создание чего-либо сложного может сделать эту строку кода слишком болезненной для чтения, лучше всего написать собственный класс / функцию, которая генерирует нужный код. У меня такая ситуация, и моя строка формата выглядит так:

format : @<text>@Html.Raw(NDisplay.displayComment( username, item.AssignedTo, item.NALComment, item.refID, item.Process))</text>,

А затем в этой функции:

public static string displayComment( string username, string AssignedTo, string NALComment, int refID, string Process) 
{
    // various junk code removed, testing user and rights
    // here we know we have the right user, he or she needs the edit URL
    // two parameters are passed, first the refID, second the Process (or document)
    string e = "<a href =\"../Process/" + refID.ToString() + "/" + Process +"/\">Edit</a> " + NALComment;

    return e;
}

В каждой ячейке есть гиперссылка редактирования, за которой следует текстовый комментарий.

...