#vb.net
Вопрос:
У меня есть список
Public Class Payment
Public Property Payments As List(Of PaymentArr)
End Class
Public Class PaymentArr
Public Property Invoice_Num As String
Public Property Invoice_Date As String
Public Property GL_Date As String
End Class
и у меня есть столик
Inv_Num Inv_Date GL_Date
1 20200606 20200606
2 20200607 20200607
3 20200608 20200608
Мне нужно преобразовать приведенную выше таблицу в список платежей, пожалуйста, посоветуйте, что делать
Комментарии:
1. Взгляни на Щеголя
2. Начните с
table.AsEnumerable().Select(Function(datarow) New PaymentArr With { ..}).ToList()
Ответ №1:
Эта функция должна это делать:
Public Function ConvertTableToList(dt As DataTable) As List(Of PaymentArr)
Dim payments As New List(Of PaymentArr)
For Each rw As DataRow In dt.Rows
Dim payment As New PaymentArr With
{
.Invoice_Num = rw.Item("Inv_Num"),
.Invoice_Date = rw.Item("Inv_Date"),
.GL_Date = rw.Item("GL_Date")
}
payments.Add(payment)
Next
Return payments
End Function
Назовите это следующим образом:
Dim pymnt As New Payment
pymnt.Payments = ConvertTableToList(myDatatable)
где myDatatable-это таблица, содержащая ваши данные
С помощью LINQ будут более короткие / аккуратные решения, но вам должно быть легко следовать этой версии