2014-07-20 2 views
0

DataGridView에 날짜가 두 개인 날짜 열이 있습니다. 이 날짜 사이에 time span을 계산하고 사용자가 해당 행을 클릭 할 때 표시해야합니다. timespan 구조를 읽고 형식이 #date2# - #date1#임을 확인했습니다. 열 4의 것들 후에 항상DataGridview에서 두 날짜 값 사이의 시간 간격 계산

Dim Timespan span 
span = FaultsDataGridView.SelectedRows(0).Cells(4).Value - FaultsDataGridView.SelectedRows(0).Cells(3).Value 

5의 날짜 (4 지수) (지수 3) 열 : 여기 내 프로그램의 관련 코드입니다. 나는 이것을 확실히했다. 그러나 다음 메시지와 함께 ArgumentOutOfRange Exception이 표시됩니다.

인덱스가 범위를 벗어났습니다. 음수가 아니고 콜렉션의 크기보다 작아야합니다. 매개 변수 이름 : index.

왜 이런 일이 일어나는 지 알고 계십니까?

+1

당신 중 0 행이 없거나 충분한 열. 최선을 옵션은 그리드 셀에 직접 액세스하지 않고 기본 데이터 객체에 대해 작업하는 것입니다.이 코드는 쉽게 깨지기 쉽습니다 :'.SelectedRows (0) .Cells (4)'. – Neolisk

+1

아마도 SELECTED 행이 없습니다 – Plutonix

+0

값을 계산하기 바로 전에 '12/7/2014 7:58:00 PM '과 '12/7/2014 6:58:00 PM'의 datetime 값을주었습니다. 선택된 행이 있는지 확인하십시오. Neolisk, 이 코드의 취약점을 제게 설명해 주시겠습니까? 정말 고맙습니다. 감사합니다. – Neosapien

답변

0

사용 (DirectCast (DataGridView에 ([columnIndex에, e.Row.Index) .Value, 날짜 시간). 감사합니다 귀하의 입력, 사람에 대한 많은.

관련 문제