저는 ASP.net에서 jqGrid 3.8.2를 사용하고 있습니다. 아주 간단한 jqGrid 구성을 선언하고 있습니다. 데이터가 올바르게 표시되고 있으며 검색 대화 상자를 통해 여러 조건으로 검색 할 수 있습니다 ... 문제 없습니다.검색을 수행 할 때 jqGrid 검색 열 유형을 얻으려면 어떻게해야합니까?
문제는 문자열이 아닌 값을 검색 할 때 해당 열의 데이터 형식이 필요하다는 것입니다. 열에 'stype'옵션이있어 정확히 유형을 말하고 있지만이 구성은 검색을 수행 할 때 쿼리 문자열에 전달되지 않습니다.
json이 2 개의 검색 조건에 대한 요청을 받고 있습니다. { "groupOp": "AND", "rules": [{ "field": "EntityID", "op": "gt "data": "3"}, { "field": "EntityID", "op": "lt", "data": "8"}}}
'data'값은 다음과 같습니다. 항상 따옴표로 묶여 있지만 값은 숫자이며 해당 열은 stype이 'int'로 설정되어 있습니다 (이 방법을 사용하는 데는 아무 것도 찾을 수 없습니다)
요점은 내가 내가 요청할 때 컬럼의 타입에 관한 정보를 전달하는 방법.
어떻게 할 수 있습니까?
여기 내 그리드 선언입니다 :
$('#EntityListGrid').jqGrid({
url: 'my url',
datatype: 'json',
mtype: 'GET',
colNames: ['ID', 'Name', 'Actions'],
colModel: [
{ name: 'EntityID', index: 'EntityID', width: 50, align: 'left', resizable: true, sortable: true, stype: 'int' },
{ name: 'Name', index: 'Name', width: 250, align: 'left', resizable: true, sortable: true, stype: 'string' },
{ name: 'act', index: 'act', width: 75, sortable: false },
],
pager: $('#EntityListGridPager'),
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'EntityID',
sortorder: 'desc',
viewrecords: true,
imgpath: '',
caption: 'Entities',
width: EntityListGridWidth,
height: 400,
gridComplete: function() {
var ids = jQuery("#EntityListGrid").jqGrid('getDataIDs');
var editImageUrl = 'edititem.GIF';
for (var i = 0; i < ids.length; i++) {
var cl = ids[i];
ce = "<img src='" + editImageUrl + "' onclick='EditEntity(" + cl + "); return false;' />";
ce2 = "<input type='button' value='details' src='" + editImageUrl + "' onclick='EditEntity(" + cl + "); return false;' />";
//jQuery("#EntityListGrid").jqGrid('setRowData', ids[i], { act: ce2 });
$("#EntityListGrid").setRowData(ids[i], { act: ce2 });
}
}
//});
}).navGrid('#EntityListGridPager', { search: true, edit: false, add: false, del: false, searchtext: "Search" }, {}, {}, {}, { closeOnEscape: true, multipleSearch: true, closeAfterSearch: true });
감사합니다.하지만 서버가 변환 할 형식을 어떻게 알 수 있습니까? 요청 처리기가 그런 종류의 지식을 가지고 있기 때문에 일반적으로 알 수 있습니다. 그러나 제 경우에는 각 검색 값을 변환하는 유형을 알아야하는 일반 검색 메커니즘이 있습니다. 그렇지 않으면 모든 것이 문자열로 이동합니다. – AlexCode
@AlexCode : '내 url'의 서버는 해당 jqGrid에 필요한 데이터를 얻을 수있는 전체 정보를 알고 있어야합니다. 내부적으로 "일반 검색 메커니즘"을 사용하는 경우 "특정"그리드 및 필요한 모든 유형을 알고있는 "특정"서버 메소드를 호출해야합니다. "특정"서버 메소드는 유형 변환을 수행하고 "일반 검색 메커니즘"을 호출 할 수 있습니다. – Oleg
그래 ... 어쩌면 방법은 일반적인 검색 엔진을 호출하기 전에 처리기에 지식을 추가하는 것입니다. 감사합니다. – AlexCode