Допустим, у меня есть два DataTable DT1 и dt2, добавить строку dt1 и сделать AcceptChanges, а затем dt2 = dt1.Copy и продолжить добавлять строки в dT2Как сравнить два DataTable и вернуть diffrence?
example1: -
dt1 dt2
--------------- ---------------
| item | qty | | item | qty |
--------------- ---------------
| Apple | 1 | | Apple | 1 |
| Orange| 1 | | Orange| 1 |
--------------- | Banana| 2 |
---------------
Dim dt_compare as DataTable = dt2.GetChanges()
dt_compare
---------------
| item | qty |
---------------
| Banana| 2 |
---------------
выше результата это то, что я получаю, и это то, что я хочу также, но, пожалуйста, посмотрите на example2
example2: -
dt1 dt2
--------------- ---------------
| item | qty | | item | qty |
--------------- ---------------
| Apple | 1 | | Apple | 1 |
| Orange| 1 | | Orange| 10 |
--------------- ---------------
Dim dt_compare as DataTable = dt2.GetChanges()
dt_compare
---------------
| item | qty |
---------------
| Orange| 10 |
---------------
Если я просто изменить Вэл ue он будет возвращать то же значение, когда я использую GetChanges(). Как я могу получить результат 9 вместо 10?
вы просите разницу в количестве? то есть dt2.qty - dt2.qty? Тебе придется это сделать самому. GetChanges ищет абсолютные изменения в данных. В нем говорится: «есть ли разница», а затем сообщает «да/нет» и перечисляет изменения. Он не знает, какие математики вы хотите делать с этими данными. В конце концов, это только случайное изменение даже в числовом поле. И тогда, может быть много разных возможных вычислений, как он должен знать, что вам нужно? Но это дало вам возможность - теперь вы знаете, что есть разница, вы можете сами сделать свой расчет. – ADyson