Currently, there are only two ways to remove rows from a DataTable.
-
Painstakingly manually type out each individual RowName into an integer array. This is completely unfeasible, unnecessarily tedious, and pointless, for removing more than a handful of rows.
-
Duplicate the entire DT, clear the original DT, remove rows from the duplicate, then merge back into the original.
The first is a horrible nightmare when you have to deal with tens, hundreds, and thousands of individual rows. The second is a horrible nightmare for compatibility.
The solution, would be to remove rows from a source DT, by finding rows in another DT. So if my DataTable dtRowsToRemove has rows with the following RowNames 5, 366, 784, 20, 320051, ConanLookAlike, A5673 is used as a reference to modify dtOriginalTable, any RowNames that match will have their respective row removed from dtOriginalTable.
This would be a huge help for my overhaul, both in terms of sheer time spent on it, and in terms of compatibility with other mods, as I’m modifying a large number of the game’s DataTables with many of them having thousands of rows to be removed.