У меня есть две таблицы 1 и таблица2, столбцы которых со значениями приведены ниже: Это две таблицы: Я хочу обновить «PaidAmount» в таблице1. Присоединитесь к столбцу «InvoiceNo» в обеих таблицах.Присоединиться и обновить DataTable
Table1:
InvoiceNo Vendor InvoiceValue InvoiceDate PaidAmount
--------- ------ ------------- ----------- ----------
1 AA 15000 01 Dec 2013 0
2 BB 20000 10 Dec 2013 0
3 CC 10000 18 Dec 2013 0
Table2:
VoucherNo Date InvoiceNo Amount
------- ----------- ---------- ------
001 01 Nov 2013 1 5000
002 10 Nov 2013 2 6000
003 20 Nov 2013 3 7000
001 02 Nov 2013 1 2000
Мой желаемый DataTable должен быть таким:
DesiredTable:
InvoiceNo Vendor InvoiceValue InvoiceDate PaidAmount
--------- ------ ------------- ----------- ----------
1 AA 15000 01 Dec 2013 7000
2 BB 20000 10 Dec 2013 6000
3 CC 10000 18 Dec 2013 7000
Как достичь этого результата? Я пробовал ниже один.
Table1.AsEnumerable().Join(Table2.AsEnumerable(),
dt1_Row => dt1_Row.ItemArray[0],
dt2_Row => dt2_Row.ItemArray[2],
dt1_Row, dt2_Row) => new { dt1_Row, dt2_Row }
).ToList()
.ForEach(o => o.dt1_Row.SetField(4, o.dt2_Row.ItemArray[3]));
Но это дает результат как
InvoiceNo Vendor InvoiceValue InvoiceDate PaidAmount
--------- ------ ------------- ----------- ----------
1 AA 15000 01 Dec 2013 2000
2 BB 20000 10 Dec 2013 6000
3 CC 10000 18 Dec 2013 7000
Как получить нужный мне таблицу?
Это дает ошибку: не может неявно преобразовать тип 'object' в 'decimal'. – thevan
Я обновил код с преобразованием из объекта в int. Каков тип поля Сумма? –
decimal - тип данных как для суммы, так и для оплаты. – thevan