2012-03-06 3 views
0

필터 적용시 DevEx 그리드에서 선택한 행 (GetSelectedRows())을 가져 오는 데 문제가 있습니다. GetSelectedRows가 데이터 소스의 실제 행 핸들이 아닌 필터가있는 눈금의 위치를 ​​반환하는 것처럼 보입니다.DevEx Grid 필터가 적용된 GetSelectedRows()

var rowHandles = gridView.GetSelectedRows(); 
var count = rowHandles.Length; 
for (int indx = count-1; indx >= 0; indx--) 
{ 
    if (rowHandles[indx] >= 0) 
    { 
      if (ServiceProxy.Instance.IsAlive(CommandNames.Delete)) 
       ((IList<ISymbolFieldInfo>)_staticPriceConfigurationBindingListUser).RemoveAt(rowHandles[indx]); 
      } 
    } 
} 

누구나 내가 잘못하고있는 것을 말해 줄 수 있습니까? GetSelectedRows()는 그리드에서 acutal 행 핸들을 리턴 할 것이고, 필터가 적용된 핸들은 그렇지 않을 것이라고 예상합니다.

감사합니다.

답변

0

귀하의 가정이 잘못되었다고 생각합니다. DevX 문서는 "행 핸들은 뷰 내에서 행이 표시되는 순서를 반영하므로 데이터 정렬 및/또는 필터링을 수행하면 단일 행을 수정하면 다음 행의 핸들에 영향을 미칠 수 있습니다."

루프 내에서 행을 제거하는 방법이 안전하지 않을 것이라고 생각합니다. 매번 변경 될 때마다 행 처리가 변경 될 수 있습니다. 그리드 컨트롤의 선택에 대한 개요는 here

입니다.
관련 문제