Удаление строк в таблице

Igorii

Client
Регистрация
21.02.2015
Сообщения
371
Благодарностей
297
Баллы
63
Помогите, пожалуйста, со снипетом.
Есть таблица:
89808


Из неё надо удалить строки, значение которых в столбце A, меньше значения в переменной max.
 
Последнее редактирование:

Igorii

Client
Регистрация
21.02.2015
Сообщения
371
Благодарностей
297
Баллы
63
Сам нашёл, если кому надо будет:

C#:
var table = project.Tables["Time"];
int max = int.Parse(project.Variables["max"].Value);

for(int i = table.RowCount - 1; i >= 0; i--)
{
    int memInt;
    if (int.TryParse(table.GetCell("A", i), out memInt))
    {
        if(memInt <= max) table.DeleteRow(i);
    }
}
 

Tronheym

Client
Регистрация
13.10.2016
Сообщения
146
Благодарностей
30
Баллы
28
А как сделать тоже самое, но проверку сделать на количество знаков текста в ячейке?
Т.е. если текст в ячейке (любые буквы, цифры, знаки и т.д.) содержит меньше Х кол-ва знаков - то строки удаляем..?
 

Tronheym

Client
Регистрация
13.10.2016
Сообщения
146
Благодарностей
30
Баллы
28
Сам допер как сделать удаление строки, если в ячейке строки меньше N количества знаков текста.
Если я ошибся где-то - поправьте.. но вроде работает.

C#:
var table = project.Tables["items"];

for(int i = table.RowCount - 1; i >= 0; i--)
{
    // Получаем значение ячейки в первой строке и втором столбце
    var cellValue = table.GetCell("B", i);
    // Подсчитываем количество знаков в ячейке
    int charCount = cellValue.Length;
    
    if (charCount < 100)
    {
        table.DeleteRow(i);
    }
}
Таблица items, Ячейка B, Кол-во знаков 100 - правите под свои задачи..
 
  • Спасибо
Реакции: bizzon и Igorii

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
Сам допер как сделать удаление строки, если в ячейке строки меньше N количества знаков текста.
Если я ошибся где-то - поправьте.. но вроде работает.

C#:
var table = project.Tables["items"];

for(int i = table.RowCount - 1; i >= 0; i--)
{
    // Получаем значение ячейки в первой строке и втором столбце
    var cellValue = table.GetCell("B", i);
    // Подсчитываем количество знаков в ячейке
    int charCount = cellValue.Length;
   
    if (charCount < 100)
    {
        table.DeleteRow(i);
    }
}
Таблица items, Ячейка B, Кол-во знаков 100 - правите под свои задачи..
Не успел ответить.)

Молодец. А вот так его можно сократить:
C#:
var t = project.Tables["items"];
for (int i = t.RowCount - 1; i >= 0; i--)
    if (t.GetCell("B", i).Length < 100)
        t.DeleteRow(i);
Хотя, вероятно, ваш вариант вам проще читать.
 

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