Is it possible to use the filter datatable function but make it so that it isn’t case sensitive. For example if the input is ‘apple’, it should still keep ‘APPLE’ or ‘Apple’ or any other variations within the datatable.
If it could be done directly using Filter Data Table activity from UiPath.System.Activities it would be for the best.
I was suggested by chatGPT to use
Assign activity:
To: myDataTable
Value: myDataTable.Select("Column1.Equals('apple', StringComparison.OrdinalIgnoreCase)", "Column1", DataViewRowState.CurrentRows).CopyToDataTable()
22.10.5+Branch.support-v22.10.Sha.79bc7c61a909d990afd07620b3005b3a35eb1f1b
Source: Assign
Message: Object reference not set to an instance of an object.
Exception Type: System.NullReferenceException
System.NullReferenceException: Object reference not set to an instance of an object. at lambda_method(Closure , DataRow )
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Data.DataTableExtensions.LoadTableFromEnumerable[T](IEnumerable`1 source, DataTable table, Nullable`1 options, FillErrorEventHandler errorHandler)
at System.Data.DataTableExtensions.CopyToDataTable[T](IEnumerable`1 source)
at lambda_method(Closure , ActivityContext )
at Microsoft.VisualBasic.Activities.VisualBasicValue`1.Execute(CodeActivityContext context)
at System.Activities.CodeActivity`1.InternalExecuteInResolutionContext(CodeActivityContext context)
at System.Activities.Runtime.ActivityExecutor.ExecuteInResolutionContext[T](ActivityInstance parentInstance, Activity`1 expressionActivity)
at System.Activities.InArgument`1.TryPopulateValue(LocationEnvironment targetEnvironment, ActivityInstance activityInstance, ActivityExecutor executor)
at System.Activities.RuntimeArgument.TryPopulateValue(LocationEnvironment targetEnvironment, ActivityInstance targetActivityInstance, ActivityExecutor executor, Object argumentValueOverride, Location resultLocation, Boolean skipFastPath)
at System.Activities.ActivityInstance.InternalTryPopulateArgumentValueOrScheduleExpression(RuntimeArgument argument, Int32 nextArgumentIndex, ActivityExecutor executor, IDictionary`2 argumentValueOverrides, Location resultLocation, Boolean isDynamicUpdate)
at System.Activities.ActivityInstance.ResolveArguments(ActivityExecutor executor, IDictionary`2 argumentValueOverrides, Location resultLocation, Int32 startIndex)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
As in your provided solution mentions that it will remove ‘apple’ but retain all other variations. I’m just sharing I need all variations include the original input which is ‘apple’ in that example.
So, ‘apple’, ‘Apple’, ‘APPLE’ all being retained in the datatable was my desired outcome.