Посчитать количество совпадений в ячейках таблице

  • Автор темы Автор темы kugukaa
  • Дата начала Дата начала

kugukaa

Client
Регистрация
29.12.2013
Сообщения
37
Реакции
6
Баллы
8
Добрый день!
Пользуюсь С# кодом для поиска совпадений в таблице


// берем из переменной текст, который надо искать
var textContains = project.Variables["tableSearchTextContains"].Value;
// получаем таблицу, в которой будем искать
var sourceTable = project.Tables["SourceTable"];
// ищем в каждой строчке в таблице
lock(SyncObjects.TableSyncer)
{
for(int i=0; i < sourceTable.RowCount; i++)
{
// читаем строку из таблицы (это будет массив ячеек)
var cells = sourceTable.GetRow(i).ToArray();
// пройдем в цикле по всем ячейкам
for (int j=0; j < cells.Length; j++)
{
// проверяем содержание текста в ячейке, если есть совпадение возвращаем "yes"
if (cells[j].Contains(textContains))
return "yes";
}
}
}
// если ничего не нашли возвращаем "no"
return "no";


Код взял из этой темы:
http://zennolab.com/discussion/threads/poisk-po-spiskam-i-tablicam-cherez-c-makros.10734/#post-63038

Подскажите, пожалуйста, как его модифицировать, чтобы на выходе получать дополнительно количество совпадений?
 
Код:
Развернуть Свернуть Копировать
int count = 0;
            // берем из переменной текст, который надо искать
            var textContains = project.Variables["tableSearchTextContains"].Value;
            // получаем таблицу, в которой будем искать
            var sourceTable = project.Tables["SourceTable"];
            // ищем в каждой строчке в таблице
            lock (SyncObjects.TableSyncer)
            {
                for (int i = 0; i < sourceTable.RowCount; i++)
                {
                    // читаем строку из таблицы (это будет массив ячеек)
                    var cells = sourceTable.GetRow(i).ToArray();
                    // пройдем в цикле по всем ячейкам
                    for (int j = 0; j < cells.Length; j++)
                    {
                        // проверяем содержание текста в ячейке, если есть совпадение возвращаем "yes"
                        if (cells[j].Contains(textContains))
                        {
                            count++;
                        } 
                    }
                }
            }
return count;
 
  • Оценить
Реакции: kugukaa
Спасибо за оперативный ответ! :)
 
Irbis
тебя прям незнаю как благодарить. Я тут все мучился мучился, а тут все готовенькое уже есть.
Респект тебе большой :ay:
 

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