@hatakora
so the last tables were a good description.
The task was perfect matching to the default activities e.g. Join DataTable, Filter Datatable
For Special things we can fall back to alternates or LINQ
For time reasons I prototyped with reduced sample set, but should work.
@ppr thanks a lot for the help on this. This way works very well. Once question. Instead of the for each loop , would using an asdsign like this be the same? dtJoinNew = dtJoin.DefaultView.ToTable(False, "Role Name", "Role ID", "Perm ID", "Perm Desc", "Role Owner", "Username")