Установить значение в ячейке jqgrid на основе значения другой ячейки jqgrid - PullRequest
3 голосов
/ 17 февраля 2012

У меня есть сообщение STATUS в моей jqgrid.

Если статус активен, я хочу, чтобы другая ячейка в той же строке была зеленой.Если статус не активен, я хочу, чтобы ячейка была красной.

Как это можно сделать?

На данный момент я создал пользовательский форматер в строке "image":

formatter: function () { return "<img src='../images/red.png'/>" }

1 Ответ

7 голосов
/ 17 февраля 2012

Есть разные способы, как вы можете реализовать это в jqGrid:

  • использование cellattr для установки класса или стиля ячейки (см. здесь или здесь )
  • использование пользовательского форматера (см. здесь )
  • использование setCell (см. здесь )
  • использование метода beforeProcessing для изменения данных, возвращаемых с сервера. В способе вы можете реализовать любой вычисляемый столбец. При необходимости значением столбца может быть фрагмент HTML.

Я бы порекомендовал вам использовать cellattr или beforeProcessing подход или комбинацию обоих. Вы можете использовать фоновые изображения вместо <img>. Основное преимущество подхода cellattr заключается в том, что вы можете поместить дополнительную информацию, например, цвет, в ячейку, в которой есть другие данные, отформатированные с помощью соответствующего средства форматирования. Таким образом, вы можете продолжать использовать числовые или числовые форматы и иметь в одной ячейке несколько цветовых эффектов.

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

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

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