Как заполнить DataTable Списком (T) или преобразовать Список (T) к DataTable?

  • F4 в Windows Explorer для доступа к адресной панели тривиально.
  • Меню ключ (рядом с правым ключом окон) + W + F для создания новой папки в проводнике.
6
задан Community 23 May 2017 в 10:34
поделиться

1 ответ

Код, который вы связали, предполагает, что члены объявлены как свойства. Вы не объявляли свойства. Вы можете заставить его работать с Reflection:

Imports System.Reflection
...

      Public Shared Function ConvertToDataTable(Of T)(ByVal list As IList(Of T)) As DataTable
        Dim table As New DataTable()
        Dim fields() As FieldInfo = GetType(T).GetFields()
        For Each field As FieldInfo In fields
          table.Columns.Add(field.Name, field.FieldType)
        Next
        For Each item As T In list
          Dim row As DataRow = table.NewRow()
          For Each field As FieldInfo In fields
            row(field.Name) = field.GetValue(item)
          Next
          table.Rows.Add(row)
        Next
        Return table
      End Function
17
ответ дан 8 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: