1

나는 두 개의 서로 다른 소스에서 온 데이터를 제공하는 telerik mvc 그리드를 가지고있다. (연결하는다중 소스 그리드에서 필터링

public class Customer 
    { 
     public string Name {get;set;} 
     public Guid CreatorUserId {get;set;} 
     public string CreatorUsername 
     { 
      get 
      { 
       return System.Web.Security.Membership.GetUser(CreatorUserId).UserName; 
      } 
     } 
} 

내가 고객과 같은 테이블에서 고객 정보를 저장 (ID, 이름, CreatorUserId) 다음 CreatorFullname는 멤버 자격 공급자에서 온다 :

내가이 같은 모델을 가지고 가정 Active Directory로).

위의 모델을 Telerik 그리드 (ajax 사용 옵션 포함)에 바인딩하면 모든 것이 ok (페이징, ajax-paging, ...)입니다. CreatorUsername에 대한 정렬 작업 (올바른 것은 아니지만)이 주요 문제는 필터링에 관한 것입니다. CreatorUsername이 주 원본에서 Customer 테이블의 일부가 아니기 때문에 실패합니다.

어떻게 극복 할 수 있습니까? (특히 Telerik-MVC 그리드를 사용할 때)

답변

0

this example과 같은 외래 키 열을 구현하려고 시도 했습니까? 데모에서 볼 수 있듯이 EmployeeID 열은 다른 열과 동일한 테이블에 있지 않지만 Grid를 통해 완벽하게 잘 필터링 할 수 있습니다.

+0

필자는 필요한 열이 동일한 데이터베이스에 없다고 말했습니다. Active Directory에 있음 –

+0

동일한 데이터베이스가 아닌 경우 AD 정보를 필드로 포함하는 개체를 갖거나 찾고있는 AD 필드의 IEnumerable을 Grid에 제공해야합니다 에 대한. 또한 그리드와 데이터 사이에 추가 레이어를 제공 할 수있는 패턴을 활용하여 DB로 커밋하기 전에이 레이어를 업데이트 할 수 있습니다. – carlbergenhem

+0

Carl, 문제는 데이터를 표시하거나 업데이트하는 것이 아닙니다. 문제는 필자가 telerik 그리드에 의해 자동으로 수행되는 컬럼 필터링을 사용하고자 할 때 발생합니다. "CreatorUsername"필터링에 오류가 발생하고 SQL 쿼리에서 열을 변환하고 병합하기 때문에 발생합니다. telerik MVC 그리드에서 필터링/주문 시나리오를 제어 할 수있는 솔루션이 필요합니다. –

관련 문제