2012-02-08 2 views
1
void gridControl1_DoubleClick(object sender, EventArgs e) { 
    GridControl grid = sender as GridControl; 
    DXMouseEventArgs args = e as DXMouseEventArgs; 
    BaseHitInfo hitInfo = grid.Views[0].CalcHitInfo(args.Location); 
    GridHitInfo gridHit = hitInfo as GridHitInfo; 
    if (GridHitTest.RowCell == gridHit.HitTest) { 
     int rowHandle = gridHit.RowHandle; 
     grid.MainView.GetRow(rowHandle);//GetRow returns Object. I need to cast this to a Type to make it useful 
    } 
} 

저는 GetRow()에 대해 documentation입니다. 인텔리 센스를 통해 이미 끌어낼 수있는 것보다 훨씬 더 유용한 정보를 추출 할 수 없었습니다.GetRow()에서 어떤 유형으로 캐스트 할 수 있는지 어떻게 알 수 있습니까?

무엇을 어떻게 처리 할 수 ​​있는지 어떻게 알 수 있습니까?

답변

7

문서는 나에게 합리적으로 명확 보인다

이 메소드의 반환 값은 뷰의 데이터 소스의 유형에 따라 달라집니다. 데이터 소스가 System.Data.DataTable 또는 System.Data.DataView이면이 메서드는 System.Data.DataRowView 개체를 반환합니다. 데이터 원본이 항목의 사용자 지정 목록이면 적절한 목록 항목이 반환됩니다.

그래서 입니다. DataTable/DataView입니까? 그렇다면 DataRowView으로 전송하십시오. List<T> 또는 이와 비슷한 경우 요소 유형으로 전송합니다. 나는 당신이 일 것이라고 가정한다.은 데이터 소스 유형을 컴파일 할 때 무엇을 알고 있는가?

+0

확인. 감사. 목록 으로 채워집니다. –

+0

@ P.Brian.Mackey : 그렇다면 당신은 그것을 보면서'SomeModel'로 캐스팅합니다. –

+0

@ John Skeet - 실제로. 내가 다큐멘터리에서 그 발언을 놓쳤다. 저는 새로운 회사에서 새로운 프로젝트를 진행하고 있으며 마감 기한을 앞두고 서두르고 있습니다. 그래서 나는 바보 같은 실수를하고있다. 당신의 도움을 주셔서 감사합니다. –