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

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
Сообщения
982
Благодарностей
1 084
Баллы
93
это делается с помощью циклов. прикрепил пример
 

Вложения

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

patryxa

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

che100

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

volody00

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

che100

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

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 900
Благодарностей
2 635
Баллы
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

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