LibAWeb.Mvc, атрибуты CellAttributes класса JqGridColumnModel не работают

Я использую Lib.Web.Mvc (версия 6.1.0) для генерации jqgrid в клиенте.

Большинство атрибутов JqGridColumnModel работают нормально, но CellAttributes не оказывает здесь никакого влияния.

Это мой код:


configuration.Settings.ColumnsModels.AddRange(new JqGridColumnModel[]
{
new JqGridColumnModel("ProductID") { Index = "ProductID" },
new JqGridColumnModel("ProductName") {  Index = "ProductName" },
new JqGridColumnModel("SupplierID") {  Index = "SupplierID" },
new JqGridColumnModel("CategoryID") {  Index = "CategoryID" },
new JqGridColumnModel("QuantityPerUnit") {  Index = "QuantityPerUnit"},

new JqGridColumnModel ("UnitPrice") {Index = "UnitPrice", CellAttributes* = "value = 1"}});


Я не знаю, если CellAttributes все еще не работает в последней версии 6.1.0? Или я не знаю, как его использовать.

Пожалуйста, дайте мне идею добавить больше атрибутов в ячейку со стороны сервера (контроллер).

1 ответ

JqGridColumnModel.CellAttributes является доверенным лицом cellattr собственностью colModel, Это свойство принимает функцию JavaScript, которая должна возвращать строку с атрибутами. Ниже вы можете найти соответствующую часть из документации jqGrid:

Эта функция добавляет атрибуты в ячейку во время создания данных - т.е. динамически. В качестве примера можно использовать все допустимые атрибуты для ячейки таблицы или атрибут стиля с различными свойствами. Функция должна вернуть строку....

А из документации Lib.Web.Mvc:

Получает или задает функцию, которая может добавлять атрибуты в ячейку во время создания данных (динамически).

Так что в вашем случае код должен выглядеть так:

configuration.Settings.ColumnsModels.AddRange(new JqGridColumnModel[]
{
    new JqGridColumnModel("ProductID") { Index = "ProductID" },
    new JqGridColumnModel("ProductName") {  Index = "ProductName" },
    new JqGridColumnModel("SupplierID") {  Index = "SupplierID" },
    new JqGridColumnModel("CategoryID") {  Index = "CategoryID" },
    new JqGridColumnModel("QuantityPerUnit") {  Index = "QuantityPerUnit" },
    new JqGridColumnModel("UnitPrice") { Index = "UnitPrice", CellAttributes = "function() { return 'value=1'; }" }
});

ОБНОВИТЬ

Существует один особый случай, функциональность импорта и экспорта конфигурации. В этом случае все параметры функций JavaScript, событий и обратных вызовов игнорируются, так как они не могут быть сериализованы в JSON (это сделано специально).

Другие вопросы по тегам