如何在 Uipath 中的 DataTable 上使用 LINQ

How to use LINQ on a DataTable in Uipath

我正在尝试使用 Uipath 上的 LINQ 查询来过滤数据表,并将输出保存为数据表格式。 其中 A 列有名称,B 列有价格。我正在尝试过滤价格大于某个值(价格>500)的地方,并将过滤结果的名称和价格保存到数据表中。

请找到我正在尝试做的图像。LINQ Query from OutDT

d1.asEnumerable.where(函数(x1) CInt(x1("薪水"))>500).copyToDatatable

d1.asEnumerable.where(函数(x1) x1("薪水")>500).copyToDatatable 如果工资列已经是一个整数

如果在您键入 d1.asEnumerable 后没有出现下拉列表,您可能需要将程序集引用添加为 System.Data.DataSetExtensions。

使用 LINQ 过滤:

(From row In YourDataTable.AsEnumerable Where CInt(row("price").ToString) > 500 Select row).CopyToDataTable

如果您发现错误消息:

AsEnumerable is not a member of 'System.Data.Datatable'

请在下面添加对您的 xaml 文件的引用。

<AssemblyReference>System.Data.DataSetExtensions</AssemblyReference>

参考:https://forum.uipath.com/t/asenumerable-is-not-a-member-of-system-data-datatable/69198/2?u=akkapolk

您也可以使用 LINQ 的函数方法方法而不是 SQL-like 语法。

DT_Data = DT_Data.AsEnumerable.Where(
  Function(x) CINT(x("Price")) > 500
).CopyToDataTable

您可以使用 .Select(Func) 处理 DataTable 中的数据 返回您处理数据的集合。