I have big DataTable I want to get subset of this DataTable represented as DataTable either. Briefly saying how do I select particular columns in DataTable.
I was trying something like this but it doesn't work...
DataTable dTable = new DataTable();
...
...
...
DataTable dt = from field in dTable
where field.Field<string>("Manager")
where field.Field<string>("Phone")
select field;
Maybe my code is wrong, how do I get "managers" and "Phone" columns from one DataTable to another without looping thought it?
Reference the DataTableExtensions -
http://msdn.microsoft.com/en-us/library/system.data.datatableextensions.asenumerable.aspx
Then...
var whatever = dTable.AsEnumerable();
Then per the MSDN example...
var productNames = from products in table.AsEnumerable()
select products.Field<string>("ProductName");
Edit/update: Unfortunately I do not think there is a built in direct cast back to a DataTable with a different schema. You have to use a DataTable? I believe it... as it might be too much effort to refactor and test your code. Good luck and keep us posted as working with strongly-typed lists are much more fun.
You could write:
var query = from row in dTable.AsEnumerable()
select new
{
manager = row.Field<string>("Manager"),
phone = row.Field<string>("Phone")
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With