Событие OnClick для фильтрации DataGridView (C# WinForm)

Как отфильтровать мой datagridview по значению моего label.text при событии щелчка? Это значение взято из моего запроса linq:

dataSet.Tables[0].AsEnumerable().Where(c => c.Field<int>("ageColumn") > 3 &&
     c.Field<int>("ageColumn") < 5).Count();

Скажем так, приведенный выше запрос дает мне 12 (label.text = 12), теперь, когда я нажимаю «12», я хочу, чтобы мой datagridview отображал ТОЛЬКО те 12 строк, которые соответствуют моему вышеупомянутому запросу.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
3 164
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Сейчас я не использую LINQ, но логика подсказывает, что все, что возвращается выражением

dataSet.Tables[0].AsEnumerable().Where(c => c.Field<int>("ageColumn") > 3 &&
 c.Field<int>("ageColumn") < 5)

Содержит искомые данные? Нет ли там свойства для перечисления данных?

Ответ принят как подходящий

Вам нужно, чтобы он был динамичным? Возможно, сохраните сам запрос как лямбду в свойстве Tag вашей метки:

Predicate<DataColumn> clause = c => c.Field<int>("ageColumn") > 3 
    && c.Field<int>("ageColumn") < 5;
label1.Tag = clause;

... затем повторно оцените свой запрос при нажатии на ярлык:

var clause = (sender as Label).Tag as Predicate<DataColumn>; 
myDataSource = dataSet.Tables[0].AsEnumerable().Where(clause);

Я не знаю, сработает ли это, но, по крайней мере, это позволит вам «прикрепить» предложение where к различным ярлыкам.

Я также рекомендую взглянуть на Привязываемый LINQ, чтобы можно было привязать результаты ваших запросов. Очень классная штука.

Другие вопросы по теме