목록을 사용하려면 어떻게해야합니까? DataGridView.DataSource와 마찬가지로?

.net c# dapper datagridview

문제

List<dynamic> 을 DataGridView DataSource 속성에 바인딩하려고합니다. 컴파일 할 때 오류가 없지만 열이 표시되지 않습니다.

열을 미리 만들면 행이 표시되지만 데이터가 표시되지 않습니다.

간단히 말해, DataGridView에서 List<dynamic> 객체를 올바르게 사용하려면 어떻게해야합니까?

수락 된 답변

내가 정확히 기억한다면, 단정의 동적 쿼리의 집합 반환 ExpandoObject 동적 같은 속성에 액세스 할 수의 person.Name 하지만, 기본 객체는 실제로이없는 Name 속성을. 런타임 바인딩을 사용하여 내부 키 / 값 사전에서 데이터를 추출합니다. DataGridView 의 기본 데이터 바인딩은 리플렉션을 사용하여 개체의 속성을 가져 오기 때문에 쿼리에서 반환 된 열을 찾지 않습니다.

따라서 몇 가지 옵션이 있습니다.

  • 결과를 dynamic 대신 콘크리트 유형으로 수화
  • 기본 바인딩을 사용하지 않고 DataGridView 에 표시 할 열을 지정하십시오.
  • 이 대답 과 비슷한 것을 사용하여 동적 결과를 DataTable 변환하십시오.


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow