jqgrid 채우기 위해 내보기에서 호출하는 컨트롤러에서 다음 메서드가 있습니다. 이 메서드는 잘 작동하고 데이터를 반환합니다.JsonResult 객체를 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);
}
}
반환되는 내용을 디버깅하는 경우 구조는 아래 그림과 같습니다.
이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가되지 않습니다 : 그것은 여기를 퍼 팅에 대 한 매우 큰 있기 때문에
나는 CasoAdverso 클래스를 요약한다 : 객체의 목록은 데이터에 표시되는 :
$(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 },
],
...
},
내가 솔루션이있는 jqGrid에 jsonReader를 통해 올 수도 있음을 알고 있어요하지만 난 어떤 페이지를 만들 수 없습니다 컨트롤러에서 _FirstLook 메서드를 완전히 변경하지 않고 진행합니다.
제 시나리오에서는 컨트롤러에서 현재 얻고있는 것을 바인드하기 위해 jqgrid를 변경해야합니다. jqgrid에 기본적으로 필요한 것을 제공하기 위해 컨트롤러에서 몇 가지 해결 방법을 수행하지 않아도됩니다.
"bind"를 정의하십시오. 예상되는 행동은 무엇입니까? 실제 행동과 어떻게 다른가요? – Saturnix
이 경우 바인딩은 jsonReader를 설정하여 그리드가 JsonResult 객체의 구조와 기대하는 구조를 "링크"합니다. 예상되는 동작으로 인해 채워지고 표시 될 수 있지만 이것은 발생하지 않습니다 ... – Javier
여기에 jsonreader의 예가 나와 있습니다. http://stackoverflow.com/questions/14748169/jqgrid-jsonreader-configuration – Javier