У меня есть следующий метод в контроллере, который я вызываю из своего представления для заполнения jqgrid. Этот метод отлично работает и возвращает данные.
public JsonResult _FirstLook()
{
HttpResponseMessage response;
response = client.GetAsync("api/CasoAdverso").Result;
if (response.IsSuccessStatusCode)
{
IEnumerable<CasoAdverso> list = response.Content.ReadAsAsync<IEnumerable<CasoAdverso>>().Result;
return Json(list);
}
}
Если я отлаживаю то, что возвращается, структура будет такой, как на картинке ниже. Список объектов находится в Data:
Я подытожу класс CasoAdverso, потому что он довольно большой, чтобы поместить его здесь:
public class CasoAdverso
{
public int CAAD_Id { get; set; }
public string CAAD_Id_Local { get; set; }
public System.DateTime? CAAD_Fecha_Contacto { get; set; }
}
jqgrid фактически получает данные для заполнения, но почему-то не отображается:
$(grid_selector).jqGrid({
datatype: "json",
height: 250,
mType: 'GET',
url: "@Url.Action("_FirstLook", "CasoAdversoForm")",
colNames: ['ID', 'ID Caso', 'Fecha Contacto Notif.'],
colModel: [
{ name: 'CAAD_Id', index: 'CAAD_Id', key: true },
{ name: 'CAAD_ID_Local', index: 'CAAD_ID_Local', width: 60, editable: false },
{ name: 'CAAD_Fecha_Contacto', index: 'CAAD_Fecha_Contacto', width: 90, editable: false, sorttype: "date", unformat: pickDate },
],
...
},
Я знаю, что решение может прийти через jsonReader в jqgrid, но я не мог добиться какого-либо прогресса, не полностью изменив мой метод _FirstLook в контроллере.
В моем сценарии мне нужно было бы изменить jqgrid, чтобы связать то, что я сейчас получаю от контроллера. Было бы хорошо, если бы не пришлось делать какой-то обходной путь в контроллере, чтобы дать jqgrid то, что ему нужно по умолчанию.