서버 측 페이징으로 igGrid를 빌드 중입니다. 그리드는 Entity Framework를 사용하여 Visual Studio에서 자동 생성 된 OData v3 컨트롤러에 연결됩니다. 필터 및 정렬 작업은 정상적으로 작동하지만 페이징은 작동하지 않습니다.서버 측 페이징이 작동하지 않는 igGrid
그리드가 페이지 = x와 pageSize = y를 쿼리 문자열에 넣고 있지만 OData 형식이 $ top = x 및 $ skip = y 인 문제가있는 것으로 보입니다. $ skip의 값은 index * pageSize 일 필요가 있기 때문에 이름 페이지와 pageSize 만 변경하는 것은 불충분합니다. 페이지 및 pageSize 지원하는 컨트롤러를 편집하는 여러 가지 방법을 시도했지만 아무 소용.
필자는 $ top 및 $ skip 기능을 가진 OData 요청 URL을 브라우저 주소창에 수동으로 입력하여 원하는 결과를 얻을 수 있습니다. 그리드에 $ top 및 $ skip을 사용하게하는 방법이 있습니까? 그리드 자체는 C# 컨트롤러에 정의되어 있으며 모델의 일부로 페이지에 전달되며 그 때문에 GridPaging 객체의 pageIndexUrlKey 및 pageSizeUrlKey 속성에 액세스 할 수 없다는 것을 알게되었습니다. grid.OData가 true로 설정됩니다.
기본적으로 페이징은 $ top 및 $ skip을 사용하여 OData 쿼리 문자열을 보내야합니다. igGrid 구성을 게시 할 수 있습니까? –
GridModel grid = 새 GridModel(); grid.EnableUTCDates = true; grid.ID = "membersGrid"; grid.FixedHeaders = false; grid.DefaultColumnWidth = "100px"; #region [페이징] GridPaging paging = new GridPaging(); paging.Type = OpType.Remote; paging.PageSize = 10; paging.CurrentPageIndex = 0; paging.PageSizeList = 새 목록 {10, 25, 50, 100}; grid.Features.Add (paging); #endregion grid.DataSourceUrl = "/ odata/viewMemberBalances"; grid.ResponseDataKey = "value"; grid.OData = true; –
답장을 보내 주셔서 감사합니다. 이것은 올바른 쿼리 문자열 매개 변수를 사용하는 그리드를 얻고 있지만 여전히 2 가지 문제가 있습니다. 1) 페이지가 처음로드 될 때 그리드는 page와 pageSize 쿼리 params를 호출하여 페이지까지 모든 레코드를 표시합니다 크기는 사용자에 의해 변경됩니다. 2) 쿼리 문자열에 $ inlinecount = allpages 매개 변수가 없으므로 컨트롤러가 그리드에 더 많은 항목이 있음을 알려주지 않으며 사용자에게 한 페이지 만 표시됩니다. 수동으로 $ inlinecount = allpages를 쿼리 문자열에 추가하면 카운트가 반환된다는 것을 확인했습니다. –