шаблонные столбцы на стороне клиента для элементов управления сеткой jQuery в ASP.NET MVC 3 - PullRequest
0 голосов
/ 06 февраля 2012

Мне нужно связать сетку с данными JSON, полученными с помощью вызова Ajax с использованием jQuery в приложении ASP.NET MVC. но для каждого столбца я хотел бы иметь возможность определить шаблон (аналогично TemplateField в элементах управления GridView в веб-формах). шаблон похож на определение столбца и дает полный контроль над тем, что отображается в этом столбце. какой контроль сетки поддерживает это? Я думаю, что jQGrid, DataTable и SlickGrid являются популярными сеточными элементами управления на основе jQuery для связывания данных на стороне клиента. Поддерживает ли какой-либо из них наличие собственного шаблона для одного или нескольких столбцов в сетке? Я нашел ссылку , которая показывает, как связать данные JSON с сеткой на стороне клиента, но нет информации о том, как я могу определить шаблон для каждого столбца.

1 Ответ

1 голос
/ 06 февраля 2012

В jqgrid у вас может быть пользовательская функция форматирования, в которой вы бы возвращали шаблон строки html, который будет использоваться в данном столбце (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter). В Datatable (и jqGrid также), есть возможность создания сетки изсуществующий элемент. В этом случае вы можете создать свою таблицу, используя оператор @foreach в бритве и применяя свои шаблоны внутри ячеек.

Пример использования пользовательского форматера jqgrid и шаблона jquery:

// Your cell template
<script id="MyColumnTemplate" type="text/x-jquery-tmpl">
  <h1>${Name}</h1>
</script>


<script>

// creating the grid passing the formating function
$('#GridView').jqGrid({
    (...)
    colModel: [         
    { name: 'Custom', formatter: myFormatter}, ...],
     });
});

function myFormatter(cellvalue, options, rowObject) {
   var data = { Name: 'Test' };
   // applying the jquery template and returning html output
   return $('#MyColumnTemplate').tmpl(data).html();
}

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...