2012-05-14 8 views
3

MVC (asp.net)를 jqGrid로 지원하는 상업용 응용 프로그램의 몇 가지 예가 나와 있으며 jbgrid를 Backbone.js 클라이언트 측 mvc와 함께 사용하는 최선의 방법을 결정하려고합니다.jqGrid with paging with

현재 백본 컬렉션에서 제공하는 작은 테이블과 '로컬'데이터 유형으로 jqgrid를 유지하는 백본보기를 사용하고 있습니다.

& virtualscroll을 지원하기 위해 서버 및 검색/필터링 옵션에서 데이터를 가져 오는 백본 모델/컬렉션 지원을 사용하고 출력을 뷰 및 jqgrid로 전달하여 그리드를 업데이트하십시오.

jqGrid에는 beforeRequest, loadBeforeSend와 같은 이벤트에 대한 후크가 있는데, 이는 ajax 요청을 만들고 json을 반환하고 컬렉션을 업데이트 (Addy의 Backbone Paginator 컬렉션 사용)하기 위해 컬렉션 호출을 수행하지만 그것은 jqgrid 여전히 모델 대신 컨트롤에서보기를 가지고 잘못된 것으로 보인다 아약스 전화를하고있는 것 같습니다.

사용자 지정 데이터 형식을 사용하는 경우 그리드가 더 많은 데이터를 가져와서 해당 기능을 제공하고 데이터를 가져올 때 조건을 트랩 할 수 있습니다.

백본 모델/컬렉션을 jqgrid에 연결하는 더 좋은 방법은 맞춤형 데이터 유형입니까?

+0

이것이 의미하는 것이라면 나는 단지 생각하고 있습니다. 결국에는 아약스 전화를 걸어 결과를 얻을 것입니다. BB는 jqgrid의 ajax 호출을 인터럽트하고 결과가 돌아 오면 BB에서 jqGrid로 보내야합니다. JQgrid의 beforesend 및 onComplete에 코드를 연결하고 결과를 얻고 jqGrid를 채우는 대신 BB를 채 웁니다. –

+1

jqGrid에서 벗어나지 않는 것이 좋습니다. 재앙입니다. 대신 SlickGrid 또는 DataTables를 확인하십시오. – Roman

답변

0

백본 환경에서 데이터를 업데이트하기 위해 적절한 수신기를 사용하여 테이블을 컬렉션에 직접 연결해야합니다. 그렇지 않으면 정적 뷰를 사용하게됩니다. 이는 백본을 사용한 이유와 반대입니다. - 또는 무언가가 살기위한 적이 없었던 그리드를 업데이트하기 위해 콜백을 연결하는 데 수많은 시간을 할애해야합니다.

필자는 백본 환경에서 datatables.net을 두 번 수행했으며, 본질적으로 데이터 테이블을 강제로 과도한 자체 모델로 업데이트하기 때문에 두 시도 모두 엉망이었다. 마찬가지로 Datatable의 서버 측 옵션을 활용하려는 시도는 Ajax 트랜잭션의 Backbone 시스템과 충돌하기 때문에 창 밖으로 나왔습니다.

Backgrid을 살펴보십시오.이 백본은 백본과 함께 사용할 수 있도록 설계되었습니다. 먼 곳까지, 그것은 지금까지 찾은 가장 단순하고, 가장 깨끗하고, 가장 낮은 오버 헤드 옵션입니다.