I’m probably not the best to answer since I have not used the Filter Data Table all that much but have looked at it.
The problem I have with the activity is that you cannot verify and convert values during your condition phases. Like if you wanted to make sure the value is compared as a double, you couldn’t simply place in some syntax to say:
If(IsNumeric(row(0).ToString.Trim),CDbl(row(0).ToString.Trim,0) = value
Another problem I have with it is that you can only output to a DataTable, so if you want to process or update certain rows while keeping the original data table, you can’t really do that.
I’d say the benefit you get from using .Select() is that you can be more flexible in what you are trying to do.
However, I still prefer the lambda method using .Where() for filtering data, and the coding is lot easier to understand… atleast to me. It accomplishes the same as using .Select() for filtering, but if you want to use all the vb.net methods like .Contains, .StartsWith, et cetera it’s fairly simple to do so whereas with the .Select() method for filtering you need to use different syntax. EDIT: Ideally, I would want an activity that is flexible like that where you can output to an array of rows or new data table, and also am able to place vb.net coding embedded in the activity on both sides of the comparison… or maybe there is a better way to make it user-friendly that can check if the value is a number and convert, etc.
The “Cannot find column” error is most likely happening because your data table was not read in with Column Headers or the Header does not exist. I would check the Read Range or Read CSV and make sure AddHeaders is checked. Also, using Output Data Table you can output the table to a message box to verify that the headers are there correctly.