2010-12-13 1 views
2

Silverlight 4.0 용 타사 컨트롤 제품군을 선택하는 과정을 밟고 있습니다. 우리는 대부분 기능이 풍부한 그리드 컨트롤에 관심이 있습니다. 나는 대부분의 제품들이 클라이언트 쪽 페이징, 필터링, 정렬 및 그룹화에 초점을 맞추고 있다는 사실에 놀랐습니다. 그러나 데이터 세트가 이러한 기능의 이점을 누릴 수있을 정도로 크다면 한 번의 호출로 클라이언트에 전달하기에는 너무 크지 않습니까? 그리고 이것이 광고 된 멋진 그리드 기능의 대부분을 쓸모 없게하지는 않습니까? 내 의견으로는 200 행의 데이터가 하나의 요청으로 서버에서 얼마나 많은 양을 요구하는지에 대한 이상적인 상한선입니다. 그러나 Telerik, DevExpress, ComponentOne, Xceed 및 기타 사이트는 모두 10,000 개가 넘는 데이터 행을 클라이언트에 제공하고이를 페이지, 필터링, 그룹화 및 정렬하는 기능을 자랑하는 멋진 데모를 제공합니다. 10,000+ 행의 데이터를 클라이언트에게 제공하는 사람은 누구입니까? 1,000 명 이상의 동시 사용자가 있다면 어떻게 될까요? 그 데이터가 변동성이 있다면? 이 유스 케이스에서는 실제로 어떤 문제가 발생합니까?타사 Silverlight Grid 컨트롤

이러한 컨트롤 제품군 중 하나와 사용자의 경험을 공유하고 페이징을 구현했는지 여부를 알려줄 수 있습니까? 또한 RIA를 사용하고 있습니까?

감사합니다.

답변

0

서버 쪽 페이징을 수행하기 위해 타사 Grid 컨트롤이 필요하지 않습니다. 클라이언트가 모두 같은 시간에 그들의 전체 년 분량의 데이터를 표시 할 수 있도록 당신은 미친 될 수있다, 실버 라이트 툴킷 내가 당신과 동의 http://silverlight.codeplex.com/

http://borrell.parivedasolutions.com/2008/01/objectdatasource-linq-paging-sorting.html

+0

안녕하세요. 그것은 우리가 발견 한 것입니다. 그러나 스위트 룸은 훌륭한 UI를 제공합니다. 많은 시간을 보내고 싶지 않습니다. 이제 우리는 이러한 모든 멋진 필터, 정렬, 그룹 및 페이징 컨트롤을 서버로 왕복하는 방법을 시도하고 있습니다. 그 중 일부는 고통 스럽습니다. – GeorgeBarker

0

가 제공하는 그리드 컨트롤 및 ObjectDataSource를 사용할 수 있습니다 하지만 때로는 클라이언트 (및 제품 관리자)는 당신이하는 것과 같은 방식으로 일을 보지 않으며 어리석은 일을 주장하지 않습니다. ...

데모가 1 백만 레코드를 통해 페이징을하는 것이기 때문에, 그들은 고객에게 모든 것을 가져다줍니다. 또한 200 행의 데이터가있는 시나리오를 고려해야하지만 사용중인 데이터 템플릿으로 인해 한 번에 10 개의 행만 표시 할 수 있습니다 (페이지에 10 개의 행만 넣을 수 있음). 실제 행을 사용하고있는 프리젠 테이션이기 때문에 200 행이 필요합니다. 또한 페이징을 구현하고 요청 될 때 다음 페이지 분량의 데이터를 검색 할 수 있습니다 (약간의 지연이 발생하지만 충분히 가치가있을 수 있음). 아마도이 문제를 해결하는 가장 좋은 방법은 사용자가 한 번에 많은 수의 레코드를 검색 할 수있는 기능을 제공하지 않는 것입니다.이 기능을 사용하면 이 사용되며을 사용하면 성능에 대해 불만을 제기하게됩니다.

빠른 클라이언트 측 정렬/그룹화/필터링은 현실 세계에서 필요합니다. 사용자가 서버에서 수천 개의 레코드를 가져온 다음 일반적으로 필터를 사용하여 한 번에 여러 개의 레코드를보고 해당 레코드를 조작 한 다음 필터를 수정하여 다른 묶음을 봅니다. . 이러한 기능이 사용자 환경에 큰 차이를 가져 오기 때문에 빠르게 작동하는 것이 중요합니다. 필자는 올해 초에 몇 가지 구성 요소 세트를 시험해 보았고 이들 기능이 제공 될 때 성능 차이가 크다는 것을 알았으므로 현명하게 선택하십시오.

+0

예를 들어 보았지만 클라이언트에 모든 것을로드하는 것으로 보입니다. 그리고 네, 초기로드가 완료되면 매우 빨라질 수 있지만, 초기로드 비용이 어느 정도 이점을 얻을 수 있습니다. 내가 한 연구에서 얻은 추천/리뷰를 듣게되어 매우 기쁩니다. 지금까지 Telerik, DevExpress 및 Xceed를 살펴 보았습니다. Xceeds 데모 - 작동 할 때 서버 쪽 페이징을 수행하는 것 같습니다. 그 밖의 것은 없습니다. 그러나 Telerik과 DevExpress는 더 잘 찾고 있습니다 ... – GeorgeBarker

0

다음과 같은 기능을 자랑하는 컨트롤 제품군을보고 싶습니다. order fullfullment에 대한 동시성 문제뿐만 아니라 데이터 충돌을 해결하기 위해 대기열 또는 스택을 사용합니다. 나는이 그리드와리스트 컨트롤이 너무 좋고 예쁘다는 것과 모든 데이터를 보여주기는하지만, 동일한 데이터 세트에서 둘 이상의 사람이 작업 할 때 기본적인 concurreny 문제는 해결하지 않는다는 것을 너무 자주 알 수 있습니다. 한 사용자의 행을 다른 사용자로부터 잠그는 것을 자동화하고 작업 중복을 방지하고 자동으로 오류 메시지를 기록하면 제어 제품군을 구입할 수 있습니다.

0

ObjectDataSource의 xaml에 최대로드를 지정할 수 있으므로 모든 데이터를 한 번에로드 할 필요는 없습니다.이렇게하면 지정된 크기의 블록으로 데이터가로드됩니다. 여기에 2 개 RIA 서비스 비디오를 살펴 보자 https://www.silverlight.net/getstarted/riaservices/

또한 당신에게 도움이 될 수 있습니다 페이징에 세그먼트가 있습니다을.

참고 (일부 동영상은 제작되었지만 핵심 기능은 여전히 ​​동일하므로 어셈블리 참조 및 구문이 약간 변경되었습니다.)