ASP.NET MVC 3 페이지가 있습니다. 여기에는 ajax 호출에서 JSON 데이터를 사용하여 jqGrid로 변환하는 표가 있습니다. 그리드에는 다음과 같은 설정이 있습니다.jqGrid 필터 또는 날짜별로 검색하지 않는 클라이언트 쪽
myGrid = $('#myGrid');
myGrid.jqGrid({
caption: 'My Grid',
datatype: 'local',
data: data.rows,
height: 250,
pager: '#myPager',
viewrecords: true,
colModel: [
...,
{
label: 'blah',
name: 'blah',
align: 'left',
sortable: true,
editable: false,
width: 85,
formatter: 'date',
sorttype: 'date',
datefmt: 'm/d/Y',
formatoptions: { srcformat: 'm/d/Y', newformat: 'm/d/Y' }
},
...
]
});
// turn on filter toolbar
myGrid.filterToolbar();
data.rows는 ajax 호출에서 반환됩니다. 이것은 하나만 제외하고 모든면에서 효과가 있습니다. 클라이언트 쪽을 페이지 매김하고, 클라이언트 쪽을 정렬하고, colModel을 표시하는 필드를 제외한 모든 필드를 검색 할 수 있습니다. 이 '어쩌구'필드는 날짜 필드이며 mm/dd/yyyy 형식으로 날짜를 올바르게 표시합니다. 그러나 툴바에 11/17/2010과 같은 것을 입력하고 Enter 키를 누르면 검색시 0 개의 레코드가 반환됩니다.
는 그래서있는 jqGrid 코드로 깊이 파고, 여기가 검색하기 전에 생성 작업은 다음과 같습니다 (m
{"groupOp":"AND","rules":[{"field":"blah","op":"bw","data":"11/17/2010"}]}
를 결국,이 모든 행을 통해 갈 때하고, 현장에서 평가를 작업을 평가 이 필드가 날짜임을 인식하지 못할 것처럼 그것은 나에게 보이는, 기본적으로
(String(this.blah).substr(0,10) == String("11/17/2010"))
:) & & p.push (이) 라인은 m이 있습니다. parseDate 대신 parse를 호출합니다. 누구든지이 문제를 해결할 수있는 아이디어가 있습니까? 나는 서버 측을 검색하는 것이 쉽다는 것을 알고, 나는 그 문자열을 전달하고, 그것을 파싱하고, bam 할 수있다. 그러나 가능한 한 고객 측에 머물고 싶습니다. 올레그와 톰이 올린 샘플 중 일부에서 이것을 복제 할 수 있었기 때문에 문제가 있거나 구성에서 뭔가를 잃어 버렸습니다 ...
그런데 jqGrid가 AJAX를 호출 할 수 있으므로'data.rows'의 사용법은 필요하지 않습니다. http://stackoverflow.com/questions/2835957/jquery-with-asp-net-mvc-calling-ajax-enabled-web-service/2836817#2836817, http://stackoverflow.com/questions/에서 링크를 참조하십시오. 4169384/how-can-i-bind-my-view-model-to-a-jqgrid/4169848 # 4169848 및 http://www.trirand.com/blog/?page_id = 393/기능 요청/휴식 지원/# p21762. 내가 링크를 계속할 수 ... – Oleg
사실, 내 아약스 호출 내에서 그리드의 생성을 포장했다. 그 이유는 필터 툴바에서 드롭 다운 필터를 동적으로 업데이트하기 때문에 GridUnload()를 호출해야한다는 것입니다. 설명서를 살펴본 후 트리거 ('reloadToolbar')와 같은 것을 찾을 수 없습니다. – Milimetric