2016-10-21 5 views
-3

어떻게 SelectedRowsDataBoundItem을 메서드처럼 사용할 수 없으므로이 코드 줄을 C#으로 올바르게 변환합니까?SelectedRows 및 DataBoundItem을 메서드처럼 사용할 수 없습니다. C#

Dim RecordValue As Int32 = grdList.SelectedRows(0).DataBoundItem.Item(_ValueMember) 
+0

이 .Item''없애 인덱싱 사용할 수있는 색인을 제공하는 경우 다음 당신은'DataBoundItem을 [수행 한 후 해당 객체에 DataBoundItem 캐스트 할 수 있습니다 _ValueMember]' –

+0

이것은 내가 시도한 것입니다. 'var RecordValue = grdList.SelectedRows [0] .DataBoundItem [_ValueMember];' – UZIERSKI

+0

예. – UZIERSKI

답변

1

DataBoundItem은 Object로 입력되었으므로이 속성에 인덱싱을 적용 할 수 없습니다. 당신은 DataTable을/DataView를을 바인더 제본 한 대신하는 경우 그 클래스를 사용하면

DataRowView rowView = grdList.SelectedRows[0].DataBoundItem as DataRowView; 
int recordValue = Convert.ToInt32(rowView[_ValueMember]); 
+0

마지막으로 좋은 설명과 해결책을 가져 주셔서 감사합니다. – UZIERSKI

+0

이 작업은 VB.NET에서도 발생하지만,이 유형의 자동 변환을 허용하는 Option Strict Off로 컴파일 된 프로젝트 일 수 있습니다. – Steve

+0

글쎄, 내 수석 개발자가 샘플을 보여 주었고, 내가 그것을 이해하려고 노력하는 코드를보고 있었지만, 그의 작품과 왜 계속 오류가 있는지 알지 못했다. – UZIERSKI