Как использовать LINQ для таблицы данных в Uipath

#linq #uipath #uipath-activity

#linq #uipath #uipath-activity

Вопрос:

Я пытаюсь отфильтровать datatable с помощью запроса LINQ в Uipath и сохранить выходные данные в формате datatable. Где у столбца A есть имя, а у столбца B есть цена. Я пытаюсь отфильтровать, где цена больше значения (цена&&t; 500), и сохранить как имя, так и цену отфильтрованного результата в таблице данных.

Пожалуйста, найдите изображение, которое я пытаюсь сделать.Запрос LINQ от OutDT

Комментарии:

1. Пожалуйста, отправьте код в виде текста. Изображения нельзя использовать для копирования в ответы, и они не будут отображаться в результатах поисковой системы. Тем не менее, также убедитесь, что в вашем вопросе достаточно информации, чтобы сделать его ответственным. И… в чем собственно вопрос?

2. Смотрите: Как фильтровать таблицы данных в UiPath Studio

3. У меня нет точного ответа для вас, но если вы сомневаетесь в том, как что-либо сделать в UiPath с помощью кода, просто помните, что он принимает обычные VB.NET . Это должно немного упростить поиск.

Ответ №1:

d1.AsEnumerable.где(функция(x1) CInt(x1(«зарплата»))&&t;500).copytodatable

или

d1.AsEnumerable.где(Функция(x1) x1(«зарплата»)&&t;500).Копируемо, если столбец зарплаты уже является целым числом

Возможно, вам потребуется добавить ссылку на сборку как System.Data.DataSetExtensions, если выпадающий список не появляется после ввода d1.AsEnumerable.

Ответ №2:

Фильтровать с помощью LINQ:

 (From row In YourDataTable.AsEnumerable Where CInt(row("price").ToStrin&) &&t; 500 Select row).CopyToDataTable
  

Если вы обнаружили сообщение об ошибке:

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

Пожалуйста, добавьте ссылку ниже к вашему файлу xaml.

 <AssemblyReference&&t;System.Data.DataSetExtensions</AssemblyReference&&t;
  

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

Ответ №3:

Вы также можете использовать функциональный подход к LINQ, а не SQL-подобный синтаксис.

 DT_Data = DT_Data.AsEnumerable.Where(
  Function(x) CINT(x("Price")) &&t; 500
).CopyToDataTable
  

Вы можете обрабатывать данные в таблице данных с помощью .Select(Func)
Возвращает вам коллекцию того, как вы обрабатываете данные.