2011-10-13 2 views
1

여기 상황입니다 : 등등트리 모드에서 telerik RadGrid를 사용하여 레벨을 건너 뛰는 방법이 있습니까?

-Category 1 
--Cat 1 Section 1 
--Cat 1 Section 2 
-Category 2 
--Cat 2 Section 1 
--Cat 2 Section 2 
--Cat 2 Section 3 
-Category 3 
--Cat 3 Section 1 

과 : 내가 계층 RadGrid에 표시하고있어 두 개의 레벨 트리를 가지고있다. 실제로 (

-Bucket 1 
--Bucket 1 Category tree... 
-Bucket 2 
--Bucket 2 Category tree... 

나는 RadGrid에 표현하는 방법을 알아낼 수 없습니다 요구 사항의 부분은 이것이다 :하지만 난 그냥 범주 자체가 실제로 기업의 또 다른 종류의 자녀 새로운 요구 사항을 물려 받았습니다 이것은 전체 추악한 진실에서 간소화됩니다) : 데이터 세트에 여러 버킷이있는 경우 트리의 루트 레벨을 버킷으로 원하지만 버킷이 하나만있는 경우 이 아닌이 필요합니다. 단일 버킷 노드가 될 루트; 오히려 루트 레벨을 그 유일한 버켓의 카테고리로 만들고 싶습니다.

내 문제는 컨트롤에서 해당 버킷 수준을 제거하고 루트에 대한 다음 수준을 승격시키는 방법이 보이지 않는다는 것입니다. 이 일을 할 수있는 방법이 있습니까? 미리 감사드립니다.

답변

0

여러분이 만드는 바인딩에 모두 영향을 미칩니다. 나는 그것을 할 또 다른 방법이 있다고 생각하지 않는다.

if (ShowAll) 
{ 
    RadGrid1.DataSource = GetBucketsAll(); 
} 
else 
{ 
    RadGrid1.DataSource = GetCategoriesByBucketId(id); 
} 

그런 다음 GridDetailTableDataBindEvent를 통해 작업하십시오.

+0

나는 그것이 나를 어떻게 돕는 지 정말로 보지 못합니다. ShowAll을 선택하면 단일 버킷을 얻을 수 있지만 AFAICT를 사용하면 계층 구조의 루트에서 버켓을 얻을 수 있습니다. 트리에서 완전히 제거 할 방법이 필요합니다. –

+0

버킷과 버킷 카테고리 사이에는 관계가 있어야하므로 버킷 카테고리를 가져올 수 있습니다. GetCategoriesByBucketId (id); 특정 양동이의 카테고리 만 갖습니다. 엔티티를 사용하는 경우 context.Buckets.Where (d => d.Id = Id) .FirstOrDefault()와 같은 카테고리가됩니다. 범주 –

+0

카테고리를 얻는 방법을 알고 있지만 RadGrid를 얻는 방법을 모르겠습니다. 버킷을 표시하는 MasterTableView를 표시하지 않고 범주를 포함하는 자식 DetailTables.GridTableView를 표시합니다. –

관련 문제