Create ADO.NET DataView showing only selected Columns

.net, c#, datacolumn, datatable, dataview

Solution

You can't do that, but you can create a copy of the table with only the columns you want :

DataView view = new DataView(table);
DataTable table2 = view.ToTable(false, "FirstColumn", "SecondColumn", "ThirdColumn");

Optionally you can return rows that have distinct values for the selected columns :

DataView view = new DataView(table);
DataTable table2 = view.ToTable(true, "FirstColumn", "SecondColumn", "ThirdColumn");

Problem

In C# & .NET, can one create a `DataView` that includes only a proper subset of the `DataColumn`s of a given `DataTable`? In terms of relational algebra, one assigns a `RowFilter` in order to perform a "selection" operation (σ). How would one perform a "projection" operation (π)?

Original source