2013-07-24 2 views
0

로드시 하위 행이있는 ultrawingrid의 첫 번째 행을 어떻게 확장 할 수 있습니까? here is the way i want ultrawingrid to look like 첫 행을 확장하는 방법 UltraWinGrid ..에 하위 행이있는 행?

이 ultrawingrid에는 자식 행이있는 여러 행이 있지만 그림과 같이 자식 행이있는 첫 번째 행만 확장하려고합니다. C#을 사용하여. NET을

나는 모든 행을 확장 할 수 있습니다 expanAll methos를 사용하여 알아.

또한 내가 ExpandAncestors은() 내가이 어떻게 achive 수

(내가 자식으로 행을 선택해야합니다 제공) 내가 원하는 행을 확장 할 것이라는 점을 알고있다? 미리 감사드립니다 ...

답변

3

더 좋은 방법이 있는지는 잘 모르겠지만, 알다시피 UltraWinGrid의 다른 레벨을 밴드라고하며이 밴드의 컬렉션은 DisplayLayout 속성에서 사용할 수 있습니다.

아이디어는 최상위 밴드의 행을 열거하고이 밴드의 첫 번째 행에 대해서만 DataSource를 설정 한 후 Expanded 속성을 true로 설정하는 것입니다.

// Returns a DataSet with two tables linked with a DataRelation 
DataSet ds = GetDataSource; 
grdMyData.DataSource = ds; 

// Now loop on the rows of the first band 
foreach (UltraGridRow row in grdMyData.DisplayLayout.Bands[0].GetRowEnumerator(GridRowType.DataRow)) 
{ 
    // If the row has child rows, then set the its Expanded property 
    // to true and exits immediately the loop 
    if (row.HasChild()) 
    { 
     row.Expanded = true; 
     break; 
    } 
} 
+1

안녕하세요. 답장을 보내 주셔서 감사합니다. 코드를 시도한 후에 행이 확장되지 않고 GetRowEnumerator (GridRowType.DataRow)로 인해 Band [0]과 관련된 전체 행이 제공된다고 생각합니다. – Jpaul

+0

모든 행에 하위 항목이있는 것은 아닙니다. 글쎄, 지금은 시도 할 수 없지만,이 메소드 HasChild() (4 오버로드)가 작업에 적합한 도구로 보인다. 업데이트 된 답변보기 – Steve

+0

고마워. 내가 원하는 걸 가지고있어. – Jpaul