2016-06-17 2 views
0

내가 해봤 목록에 변환하는 방법 :DataGridView를 다음

(마지막으로)에

컴파일 에러

Dim myList As New List(Of Object) 
myList = dataGridView.DataSource As List<Object> 

유형의 System.Windows.Forms.BindingSource의 개체를 캐스팅 할 수 가 없습니다 예외 :

myList = dataGridView.DataSource 

데이터 소스는 T가 사용자 정의 클래스를하는 System.ComponentModel.BindingList<T>이다. 당신이

myList = dataGridView.Rows.OfType(Of Object).ToList() 
+1

그리드의 현재 데이터 소스는 무엇입니까? – LarsTech

+1

데이터 소스가있는 경우 대개 List로 변환할만한 이유는 없습니다. 그것이 바인딩되어있는 것은 무엇 이건간에 이미 일종의 형식화 된 콜렉션입니다. – Plutonix

+0

@Plutonix : 그럴 수도 있습니다. DataGridView가 있고 그 데이터를 EPPlus ExcelWorksheet로 가져 오려고합니다. 어쩌면 그것이 질문이었을 것입니다. –

답변

0

같은 뭔가를 할 수

1

이것은 내가 그것을 어떻게 있습니다 :

Dim MyList As New List(Of Object) ' Of MyClass? 
For Each myClass As MyClass In dataGridView.DataSource 
    MyList.Add(myClass) 
Next 
+0

이것은'OfType is DataGridViewRowCollection'의 멤버가 아닙니다.이 컴파일 오류를줍니다. –

관련 문제