Операции над таблицей

patryxa

Client
Регистрация
29.10.2021
Сообщения
24
Благодарностей
8
Баллы
3
1й вопрос
в таблице 3 столбца с n-ным кол-вом строк необходимо: удалить строки в столбце которого есть числа меньше заданного
з.ы. скрин прилагаю з.ы.ы. пробовал операции над таблицей удалить строки удовлетворяющие регулярному выражению. не вышло т.к. регулярка ищет по всем столбцам, а нужно только по выбранному в моём случае по B-столбцу
к примеру удалить строки 0,1,3,13,18,30,35 т.к. в столбце B в них присутствуют значения меньше 10
123.png

2й вопрос
касается работы с фильтрами в таблице их вообще реально как-то применить? или они только для предпросмотра и работают они адекватно?
почему при применении фильтра по столбцу B больше 10 не фильтруется?
123.png
1233.png
 

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
954
Баллы
93
это делается с помощью циклов. прикрепил пример
 

Вложения

  • 21,7 КБ Просмотры: 74

patryxa

Client
Регистрация
29.10.2021
Сообщения
24
Благодарностей
8
Баллы
3
это делается с помощью циклов. прикрепил пример
Спасибо, но до такого я и сам додумался, но меня интересует метод без костылей а это по мне костыли ... меня интересует элегантный метод без брутфорса
 

che100

Client
Регистрация
18.04.2017
Сообщения
808
Благодарностей
503
Баллы
63

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
954
Баллы
93
Сделай свой плагин или функцию на си Шарп, будет тебе элегантный метод
 
  • Спасибо
Реакции: che100

che100

Client
Регистрация
18.04.2017
Сообщения
808
Благодарностей
503
Баллы
63

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 454
Баллы
113
к примеру удалить строки 0,1,3,13,18,30,35 т.к. в столбце B в них присутствуют значения меньше 10
C#:
lock(SyncObjects.TableSyncer) {
    project.Tables["tb"].GetItems("0-end", true)    // Взяли все строчки с удалением
        .Select(cells=>cells.ToArray())                        // Материализовали каждую строчку
        .Where(row=> int.Parse(row[1]) > 10)        // Убрали все строчки, которые не соответствуют условиям
        .ToList()                                    // Применили изменения
        .ForEach(project.Tables["tb"].AddRow);        // Вернули данные в таблицу
}
93320
 
  • Спасибо
Реакции: GreenWay и patryxa

patryxa

Client
Регистрация
29.10.2021
Сообщения
24
Благодарностей
8
Баллы
3
C#:
lock(SyncObjects.TableSyncer) {
    project.Tables["tb"].GetItems("0-end", true)    // Взяли все строчки с удалением
        .Select(cells=>cells.ToArray())                        // Материализовали каждую строчку
        .Where(row=> int.Parse(row[1]) > 10)        // Убрали все строчки, которые не соответствуют условиям
        .ToList()                                    // Применили изменения
        .ForEach(project.Tables["tb"].AddRow);        // Вернули данные в таблицу
}
Посмотреть вложение 93320
Огромное человеческое Спасибо!
 
  • Спасибо
Реакции: BAZAg

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