레일 위의 루비 애플리케이션에서 jquery grid가 아래와 같습니다. projectId에 따라 데이터가 표에 표시되어야합니다. 그러나 그것은 그렇게 작동하지 않습니다. 나는 url이 projectId를 기반으로 변경되지 않는다는 것을 관찰했다.jqgrid에 새 데이터로드가 작동하지 않습니다.
function editTeam_details(projectId)
{
$("#grdProjectIdentification").jqGrid({
url:'/project_identification_team?project_id='+projectId,
colNames: ["Sr.No","Team Leader"],
colModel: [
{
name: "Sr No",
index: "Sr No",
width: 15,
align: "left",
sortable:true
},
{
name: "Team Leader",
index: "Team Leader",
width: 35,
align: "left",
sortable:false
}],
width: 800,
height: 100,
// Paging
paging : true,
toppager: true,
loadonce : false,
rowNum:20,
rowList:[20,40,60],
viewrecords: true,
pager: '#pagerProjectIdentification',
datatype: 'json',
sortorder: "desc",
multiselect: false,
caption: "1. Project Identification"
}).jqGrid("navGrid", "#pagerProjectIdentification", {
edit: true,
add: true,
del: true,
search: true,
refresh: true
},
{}, // settings for edit
{},
{}, // settings for del
{}, // settings for delete
{
sopt: ["cn"]
} // Search options. Some options can be set on column level
)
}
코드의 두 번째 부분 ('ajaxGridOptions : {cache : false}')은 의미가 없습니다. '$ ("# grdProjectIdentification"). GridUnload()'를 사용하면'editTeam_details' **를 한 번 더 호출하는 문제를 해결할 수 있습니다 **. 'editTeam_details' **의 코드는 그리드를 생성합니다 **. 예를 들어 페이지를 초기화하는 동안 그리드를 한 번 만들어야합니다. 그리드 * content *를 다른 매개 변수로 새로 고침해야하는 경우'$ ("# grdProjectIdentification"). trigger ("reloadGrid")를 대신 호출해야합니다. 다시로드하기 전에'setGridParam'을 사용하여'postData'에서 사용 된 값을 변경하거나'url'을 변경할 수 있습니다. – Oleg