Поиск совпадений в таблице.

one

Client
Регистрация
22.09.2015
Сообщения
6 790
Благодарностей
1 264
Баллы
113
Подскажите сниппет для поиска совпадений в таблице.

Есть три переменных со значениями: Var1, Var2, Var3. Берем значение из Var1 и ищем в таблице в колонке А, если не находим то выходим по Ок, если находим совпадение берем значение из переменной Var2 и смотрим в этой же строке совпадение в колонке Б если не находим выходим по Ок, если находим совпадение, берем значение из переменной Var3 и ищем совпадение в этой же строке в колонке В, если не находим выходим по Ок, если находим выходи по False.

Поиск во всех случаях по точному вхождению.

Суть задачи сверить значения из переменных в строке в первых трех ячейках.
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
  • Сниппет (в нормальных условиях) всегда будет выходить по зелёной ветке.
  • Возвращает либо True (когда на одном из этапов не найдено совпадение), либо False (когда в одной из колонок было найдено совпадение)
  • В начале сниппета можно задать свои имена переменных и таблицы.

C#:
// Название таблицы.
string tableName = "table";

// Имена переменных проекта, в которых находятся значения для поиска.
string var1 = "variable_one";
string var2 = "variable_two";
string var3 = "variable_three";

var table = project.Tables[tableName];

// Ищем значение в первой колонке
int index = table.GetColumn(0).ToList().IndexOf(project.Variables[var1].Value);

if (index == -1)
{
    return true;
}

// Проверяем значение во второй и третьей колонке
if (project.Variables[var2].Value != table.GetCell(1, index) ||
    project.Variables[var3].Value != table.GetCell(2, index))
{
    return true;
}

return false;
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 790
Благодарностей
1 264
Баллы
113
Да, то что требовалось. Огромнейшее спасибо!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)