2013-07-12 4 views
1

XtraGrid의 datamember와 동일한 유형의 List 컬렉션을 기반으로 XtraGrid에서 선택을 설정하려고합니다.일치 데이터 멤버에서 XtraGrid 세트 선택

우리가 지금하는 방식은 gridview 행을 반복하는 것입니다.

private void SetSelectedRowsInternal(IList<StrongType> collecshung) 
    { 
     grdvSomeGrid.ClearSelection(); 
     grdvSomeGrid.BeginSelection(); 
     for (int i = 0;i < grdvSomeGrid.RowCount;i++) 
     { 
      StrongType _strongTyped = ((StrongType)grdvSomeGrid.GetRow(i)); 
      if (collecshung.Where(x => x.Id == _strongTyped.Id).Count() == 1) 
       grdvSomeGrid.SelectRow(i); 
     } 
     grdvSomeGrid.EndSelection(); 
    } 

더 좋은 방법이 있나요?

답변

2

그리드를 채우는 방법에 달려 있습니다 ... BindingList에서 직접 반복 할 수 있습니다 (LINQ 사용). 그러나 필요한 것보다 더 많은 시간이 걸리면 작은 숫자의 데이터에 대해서도 LINQ 기능이 1 백만 시간 이상에 도달 할 수 있기 때문에 있어야합니다.

LINQ 에드 컬렉션 대신 사전을 사용하는 것이 좋습니다.