Чтобы извлечь данные из таблицы данных, используйте метод расширения .Field<T>()
из System.Data.DataSetExtensions
. Пожалуйста, смотрите документацию DataRow.Field .
Вам необходимо создать список типа PurchaseInvoice
и выполнить итерацию по коллекции DataRow
table.Rows
.
.
См. Пример ниже:
// create a list for your invoices
List<PurchaseInvoice> invoices = new List<PurchaseInvoice>();
foreach (DataRow row in dtPurchaseInvoice.Rows)
{ // ^ Rows
// create invoice
PurchaseInvoice invoice = new PurchaseInvoice();
// get an int
invoice.PurchaseInvoiceNo = row.Field<int>("PurchaseInvoiceNo");
// get a string
invoice.CustomerName = row.Field<string>("CustomerName");
// get a DateTime
invoice.PurchaseDate = row.Field<DateTime>("PurchaseDate");
// get a double
invoice.PurchaseValue = row.Field<double>("PurchaseValue");
// add invoice to list
invoices.Add(invoice);
}
Использование расширения .Field<T>()
означает, что вам не нужно преобразовывать / приводить объект в нужный тип - он обрабатывается расширением для вас.
Он также работает с пустыми полями:
DateTime? date = row.Field<DateTime?>("PurchaseDate");