2011-08-13 6 views
6

열 이름이 sidx, sord, filters 인 경우 데이터를 가져 오는 jqGrid가 손상되었습니다. 아래에 코드를 사용하여 밑줄을 추가하려고 시도했지만 그 매개 변수는 여전히 밑줄없이 전달됩니다. _rowid, _page 등의 다른 매개 변수는 밑줄을 사용하여 올바르게 전달됩니다.jqGrid의 sidx, sord, filters 매개 변수 이름을 변경하는 방법

jqgrid에서 sidx, sord, filters를 열 이름으로 사용하는 방법은 무엇입니까?

jQuery.extend(jQuery.jgrid.defaults, { 
    prmNames: { id: "_rowid", oper: "_oper", page: "_page", 
     sidx: "_sidx", sord: "_sord", page: "_page", rows: "_rows", filters: "_filters" 
    } 
}); 

답변

10

난 당신이 "열 이름이 sidx 경우, sord, 필터,있는 jqGrid 데이터를 점점 고장"에서 무슨 뜻인지 이해가 안 돼요. 그럼에도 불구하고 필요하다면 과 serializeGridData의 두 가지 방법으로 jqGrid 매개 변수의 이름을 바꾸거나 제거 할 수 있습니다.

prmNames의 기본값 목록을 신중하게 검토해야합니다. 가능성이 방법으로 filters 이름을 바꿀 수 없습니다,하지만 당신은

$.extend(jQuery.jgrid.defaults, { 
    prmNames: { 
     id: "_rowid", page: "_page", rows: "_rows", 
     oper: "_oper", sort: "_sidx", order: "_sord" 
    } 
}); 

(sortorder 대신 sidxsord)를 사용한다 다른 매개 변수의 이름을 이름을 바꿀 수 있습니다. 당신은 내가 here 설명 무엇 거의 동일 할 수 searchOper_filtersfilters의 이름을 변경하려면 빈 searchField, searchString의 송신을 제거하고 : 사용이 the demo의 URL을 확인 할 수 있습니다 Fiddler 또는 Firebug를 사용

serializeGridData: function (postData) { 
    var myPostData = $.extend({}, postData); // make a copy of the input parameter 
    myPostData._filters = myPostData.filters; 
    delete myPostData.filters; 
    delete myPostData.searchField; 
    delete myPostData.searchString; 
    delete myPostData.searchOper; 
    return myPostData; 
} 

을 다음 매개 변수

_search=true&nd=1313235583212&_rows=10&_page=1&_sidx=invdate&_sord=desc&_filters=... 

필요에 따라 선택하십시오.

+0

대단히 감사합니다. 이렇게하면 문제가 해결됩니다. – Andrus

관련 문제