Создание атрибутов данных в строках таблицы с помощью jqGrid - PullRequest
2 голосов
/ 30 декабря 2011

Я пытаюсь прочитать о плагине jQuery jqGrid , но у меня мало времени при просмотре документации и демонстраций.

Что я хочу сделать, так это использовать некоторые части моих данных JSON для отображения в столбцах, а другие - для создания атрибутов данных HTML5 в каждой строке таблицы. Однако я не могу понять, может ли jqGrid справиться с этим, и если да, то как.

Пример того, что я хочу сделать:

Из следующих данных (добавлены пробелы для удобства чтения)

[
 {
     'id': 1, 
     'type': 0, 
     'name': 'first', 
     'address': '1524, 3rd street', 
     'X': 18.0068922, 
     'Y': 59.31076795
 },
 {
     'id': 7819, 
     'type': 0, 
     'name': 'not first', 
     'address': 'South Corner', 
     'X': 144.18457031, 
     'Y': -22.20774917
 }
]

Я хочу создать следующую таблицу:

<table>
    <thead>
        <th>Name</th>
        <th>Address</th>
    </thead>
    <tbody>
        <tr data-id="1" data-type="0" 
            data-x-coord="18.0068922" data-y-coord="59.3107695">
            <td>first</td>
            <td>1524, 3rd street</td>
        </tr>
        <tr data-id="7819" data-type="0"
            data-x-coord="144.18457031" data-y-coord="-22.20774917">
            <td>not first</td>
            <td>South Corner</td>
        </tr>
    </tbody>
</table>

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

API, предоставляющий данные JSON, используется в другом месте, поэтому я не могу это изменить. Требования к атрибутам данных также определяются другим (самостоятельно созданным) плагином jQuery, используемым в других местах, поэтому их также нельзя изменить.

Есть ли способ сделать это с помощью jqGrid? Если так, то как? Если нет, какие варианты у меня есть?

1 Ответ

1 голос
/ 30 декабря 2011

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

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