Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
24 / 10 / 5
Регистрация: 30.01.2015
Сообщений: 175

Заявка с фильтрацией данных

11.08.2016, 21:15. Показов 604. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собираюсь сделать фильтрацию по цвету. То есть если цвет указан то должны быть выведены продукты с этим цветом, если же нет, что бы вывелись все продукты.
C#
1
2
3
4
        public async Task<Product> GetOrdersAsync(string color)
        {
            return db.Products.Where(product => product.Color == color);
        }
Если ли какойто красивый способ это реализовать? Ведь у нас к примеру могут быть несколько свойств(размер, стоимость). И если не указывается их значение в форме(дропдаун, чекбокс) то они не должны участвовать в заявке.
Можно ли это как то красиво реализовать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.08.2016, 21:15
Ответы с готовыми решениями:

Проблема с фильтрацией данных в DataGridView
Проблема следующая: Есть класс, в этом классе есть функция которая возвращает список public ArrayList GetInfo() { ...

Проблемы с фильтрацией базы данных (DropDownList)
Хочу сделать фильтрацию базы данных. Есть view INDEX на нем отображено HTML таблица с данными из базы данных и DropDownList. Хочу сделать...

Вывод данных из БД с фильтрацией
Пожалуйста помогите, нужно создать бд(myphpadmin) в ней нужно создать одну таблицу (ученики), ее забить данными (имя фамилия, оценка) и...

2
102 / 24 / 12
Регистрация: 12.12.2013
Сообщений: 211
Записей в блоге: 1
18.08.2016, 09:24
Навскидку как-то примерно так, правда не самый лучший вариант.
C#
1
2
3
4
public async Task<Product> GetOrdersAsync(string color)
        {
            return string.IsNullOrWhiteSpace(color) ? db.Products : db.Products.Where(product => product.Color == color);
        }
1
24 / 10 / 5
Регистрация: 30.01.2015
Сообщений: 175
19.08.2016, 15:07  [ТС]
jcp, Уже давно решил эту проблему, при этом в интернете ничего хорошего не нашёл. Пришлось придумывать самому.
В первую очередь от чего надо отталкиваться так это то что параметр(цвет, размер...) запроса может быть равен нулю. То есть, если не задан какой либо из параметров, то необходимо что бы вернулась вся коллекция. Во вторых при исполнении условия, необходимо всегда следить за предикатом, что бы вернулось true значение, иначе мы не получим нашу коллекцию.
Подытожу, кодом. Разумеется просто фильтрация без пейджинга само по себе маловероятное событие, как бы кто ненароком не вытащил 10000 записей разом:
C#
1
2
3
4
5
6
7
8
9
10
11
        public async Task<List<Product>> GetProductsAsync(int page, int takeProducts, string color)
        {
            int skipProduct = (page - 1) * takeProducts;
 
            return await db.Products
                .Where(product => product.Color == (color ?? product.Color))
                .OrderBy(product => product.Added)
                .Skip(skipProduct)
                .Take(takeProducts)
                .ToListAsync();
        }
Всё же спасибо за ответ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.08.2016, 15:07
Помогаю со студенческими работами здесь

Выгрузка данных с фильтрацией по полям и столбцам
Здравствуйте, имеется пример БД с формой для выгрузки данных(по всем столбцам) с фильтрацией в Exel. На этой форме также есть возможность...

Заявка
Доброго времени суток друзья! Прошу помочь в такой сложной у меня возникшей ситуации. В БД Danye в таблице holod находятся вот такие...

заявка на участие
Есть 4 таблицы acc - храняться данные о пользователях team - хроняться данные о кланах team_ - хроняться данные,кто в каком клане. ...

Заявка и квитанция
Добрый день! Создаю АИС нотариальной конторы по диплому. БД в MS Access, теперь нужно взять данные (значение) из DataGrideView...

Не работает заявка opencart 3
Здравствуйте. Интернет-магазин сантехники https://kraftsystem.com/santexnika-optom. Смесители оптом - открывается окно, в нём...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru