2011-03-18 2 views
8

내 페이지에는 두 개의 webGrid가 있습니다. 해당 열을 정렬하려면 하나를 클릭하면 두 열의 격자가 해당 열에 정렬됩니다. 하나의 열만 정렬하면 정렬되지 않습니다.두 개의 격자가 같은 페이지에있을 때 정렬하기

헤더가 열과 방향으로 쿼리 문자열에있는 동일한 페이지에 대한 링크를 만들어 분류 작업을 확인했습니다. 이것은 두 표가 영향을받는다고 설명합니다. webGrid에 내 문제를 해결할 수있는 기능이 있는지 궁금 해서요. 직접 해결해야합니까?

"직접 수정"하는 방법은 먼저 htmlAttributes를 설정하여 테이블 태그에 id 특성을 추가하는 것입니다. 그런 다음 jQuery를 사용하여 모든 webgrid에 대해이 id를 찾고 해당 id를 links 매개 변수에 통합합니다. 그런 다음 그리드가있는 페이지를로드 할 때 해당 매개 변수를 기반으로 정렬 할 열을 강제로 설정합니다.

나는 webGrid가 다른 webGrid가있는 페이지에 있도록 설계되지 않은 것 같습니다. 그러나 나는 내 상황에 그것이 바람직하다고 느낍니다. 나는 표준 방식을 사용하는 것을 선호한다.

질문은 무엇이 가장 좋은 방법일까요? 그리고 최선의 방법이 없다면, 내 길은 좋은 길입니까 (나는 무언가를 잊었습니까?).

미리 감사드립니다.

답변

13

나는 다음과 같은 속성을 설정할 필요가 있다고 생각 :

string fieldNamePrefix = null 
//The value which prefixes the default querystring fields 

string pageFieldName = null 
//A value that replaces the default querystring page field 


var grid1 = new WebGrid(canPage: true, canSort: true, ajaxUpdateContainerId: "grid1", fieldNamePrefix:"g1",pageFieldName: "p1"); 

var grid2 = new WebGrid(canPage: true, canSort: true, ajaxUpdateContainerId: "grid2", fieldNamePrefix:"g2",pageFieldName: "p2"); 
+0

안녕하세요 감사합니다. 그것은 작동합니다. 그것은 내가 바라던 바로 그 것이었다. 나는 모든 것을 직접 구현하기 전에 여기에 게시했기 때문에 기쁩니다. –

+0

고마워, 작동 :) –

관련 문제