поиск по таблице по конкретному столбцу

ya589603072

Пользователь
Регистрация
21.12.2014
Сообщения
34
Благодарностей
4
Баллы
8
Знаю что уже была куча тем по этому вопросу. перерыл форум не нашел готового решения на с коде. Может есть похожие коды но их нужно переделать, но я С коде полный ноль.
Необходимо переменную прогнать по всем строкам в таблице в одном заданном столбце. Если переменная совпадает со значением из ячейки в таблице она выдает результат ок, если совпадений нет то no
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
C#:
var strToFind = "что ищем";
var colIndex = 3; // номер столбца, отсчитывается от 0, например 4 по счету в таблице
var table = project.Tables["таблица в которой ищем"];

for(var i = 0; i < table.RowCount; i++)
{
    if(table.GetCell(colIndex, i) == strToFind)
    {
        return "yes";
    }
}

return "no";
 

ya589603072

Пользователь
Регистрация
21.12.2014
Сообщения
34
Благодарностей
4
Баллы
8
спасибо!!!
 

Min-Z-Drav

Client
Регистрация
11.08.2019
Сообщения
11
Благодарностей
9
Баллы
3
Подскажите пожалуйста как в этот код встроить "поиск по конкретному столбцу", так как он ищет по всем столбцам

Код:
// берем из переменной текст, который надо искать
var textContains = project.Variables["mail_link_title_to"].Value;
// получаем таблицу, в которой будем искать
var sourceTable = project.Tables["Data"];
// ищем в каждой строчке в таблице
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)){
                   
                     // После того как найдено первое совпадение, получаем значение ячейки в переменную findText
                     var findText = cells[j];
                   
                     //Сравниваем значение найденой ячейки с искомым текстом, если равно, возвращаем номер строки, если нет идём дальше
                     if(findText==textContains){
                        return i;
                     }
                     
                     else {
                        j++;
                    }
                   
                }
            }
        }
    // если ничего не нашли возвращаем "no"
    return "no";
}

C#:
var strToFind = "что ищем";
var colIndex = 3; // номер столбца, отсчитывается от 0, например 4 по счету в таблице
var table = project.Tables["таблица в которой ищем"];

for(var i = 0; i < table.RowCount; i++)
{
    if(table.GetCell(colIndex, i) == strToFind)
    {
        return "yes";
    }
}

return "no";
 

baracuda

Client
Регистрация
19.06.2013
Сообщения
793
Благодарностей
278
Баллы
63
C#:
var strToFind = "что ищем";
var colIndex = 0; // номер столбца, отсчитывается от 0, например 4 по счету в таблице
var table = project.Tables["таблица в которой ищем"];

for(var i = 0; i < table.RowCount; i++)
{
    if(table.GetCell(colIndex, i) == strToFind)
    {
        return "yes";
    }
}

return "no";
Есть таблица, две колонки.
au;Australia
al;Albania
ua;Ukraina
us;USA
uk;England
При стандартном поиске через кубик, когда нужен US мы находим Австралию. как решить ?
Вижу только поиск по первой колонки,. взять значение второй..
в C# не селён. заранее спасибо за помощь
 
  • Спасибо
Реакции: Ninstad

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
Есть таблица, две колонки.
au;Australia
al;Albania
ua;Ukraina
us;USA
uk;England
При стандартном поиске через кубик, когда нужен US мы находим Австралию. как решить ?
Вижу только поиск по первой колонки,. взять значение второй..
в C# не селён. заранее спасибо за помощь
Если в начале строки есть то что ищем.
if(table.GetCell(colIndex, i).StartsWith(strToFind)){...}
 
  • Спасибо
Реакции: baracuda и Yuriy Zymlex

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