jqGrid Доступ к дополнительной информации - PullRequest
1 голос
/ 11 мая 2011

У меня динамически создается jqGrid с пользовательским форматером.Мне нужно иметь доступ к некоторой информации, которая не находится в столбце сетки в форматере.Моя проблема в том, что rowObject, кажется, содержит только информацию из столбцов и ничего больше, хотя данные JSON имеют дополнительный атрибут.

Мой JSON выглядит так:

{"rows":
  [
    {"cell":["637","Alice","Test","01\/01\/1980",""],"id":"637","patient_id":"637"},
    ...
    {"cell":["635","Alice","Test","01\/01\/1980",""],"id":"635","patient_id":"635"},
  ],
  "form_id":"3",
  "records":"35",
  "total":2,
  "goto_patient_sidebar":"1",
  "totalRecords":"35",
  "dynamicFilters":"",
  "listName":"Patients",
  "page":1,
  "recordsReturned":25,
  "columns":
  [
    {"id":"75","field_id":"2","zmr_list_id":"13","alias":"Last Name",
    "sortorder":"0","reference_field_id":"90","show_date":"0","show_time":"0"},

    {"id":"76","field_id":"1","zmr_list_id":"13","alias":"First Name",
    "sortorder":"1","reference_field_id":"90","show_date":"0","show_time":"0"},

    {"id":"77","field_id":"25","zmr_list_id":"13","alias":"DOB",
    "sortorder":"2","reference_field_id":"90","show_date":"1","show_time":"0"},

    {"id":"78","field_id":"47","zmr_list_id":"13","alias":"Phone Number",
    "sortorder":"3","reference_field_id":"90","show_date":"0","show_time":"0"}
  ]

}

Дляв каждой строке мне нужно получить доступ к Patient_ID из JSON.Данные для столбцов каждой строки содержатся в ячейке каждой строки.Кажется, что rowObject содержит только информацию в каждом атрибуте ячейки JSON.Как я могу получить доступ к Patient_id без его визуализации в столбце?

Ответы [ 2 ]

2 голосов
/ 11 мая 2011

В данных значения patient_id всегда совпадают с id.Я предполагаю, что они могут быть разными (если patient_id равно id, вы уже можете видеть информацию в пользовательском редакторе форматирования).Вы можете реализовать то, что вам нужно, по крайней мере, тремя способами:

  1. Вы добавляете скрытый столбец (имеющий свойство hidden:true), который будет представлять patient_id.Вы перемещаете информацию о patient_id во входных данных JSON внутри массива "cell".
  2. Вы помещаете информацию о сопоставлении между id и patient_id как часть userdata, которую выбудет включен в JSON (см. здесь для получения дополнительной информации).
  3. Вы используете параметр data дескриптора события loadComplete.Параметр data будет содержать полные данные JSON, отправленные с сервера.Вы можете получить необходимую информацию из data и сохранить ее где-нибудь.Затем вы получите сохраненную информацию из пользовательского средства форматирования.

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

{
    "cell": [
        "637",
        "Alice",
        "Test",
        "01\/01\/1980",
        ""
    ],
    "id": "637",
}

(если мы забудем о patient_id).Это означает, что вы отправляете id информацию дважды: один в качестве части столбца и второй раз для первого столбца таблицы.Если бы вы включили параметр key:true в определение первого столбца сетки и добавили jsonReader: {cell:""}, вы могли бы сделать данные JSON более компактными, чтобы элемент строки находился в виде массива

[
    "637",
    "Alice",
    "Test",
    "01\/01\/1980",
    ""
]
0 голосов
/ 11 мая 2011

Добавить скрытый столбец для дополнительных данных.

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