powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Фильтрация данных в DataGridView
25 сообщений из 37, страница 1 из 2
Фильтрация данных в DataGridView
    #40009673
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица DataGridView, в ней есть столбец column1 (Deign парамметр Name) в этой столбец попадают данные из таблицы SQL Server
по такой логике программа соединяется с базой через select вытягивает данные этими данными заполняет datagridview
и отключается от базы.

Далее пытаюсь выполнять фильтрацию данных определенного столбца в виде кода:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
private void FilterDataView()
        {
            DataTable dt = new DataTable();
            DataView view = new DataView();

                view = dt.DefaultView;
                string b =  string.Format("'{0}' LIKE '%{1}%'", "Column1", t_number_za9v.Text);

                view.RowFilter = b;
                dg_users.DataSource = view;
           
        }

 private void b_start_searsh_Click(object sender, EventArgs e)
        {
          
            FilterDataView();

        }



Ввожу данные в
Код: c#
1.
t_number_za9v.Text

(по маске %{1}%) фильтр должен был найти все записи содержащие введенные символы
но результата нет. Вопрос почему? Заранее спасибо ...
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40009694
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чес говоря давно не в теме, но сразу кажется странным:

Зачем присваивать vew = new View() и тут же присваивать ему другое значение. Но это не важно. Что самое подозрительное это то что в строке фильтра у тебя написано '{0}' т.е. в ркзультате там будет не просто Column1 а 'Column1' (т.е. в кавычках) - скорее всего дело именно в этом.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40009785
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
"'{0}' LIKE '%{1}%'"


У вас получается в выражении использует не имя колонки
Column1 Like '%value%',
а выражение в котором используется 2 литерала
'Column1' like '%value%'

то, есть нужно удалить символы ' в названии колонки
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40009836
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes

У вас получается в выражении использует не имя колонки

Я о том же, хотя сам я в формсах давно уже полный баран.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40010036
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
Код: sql
1.
"'{0}' LIKE '%{1}%'"


У вас получается в выражении использует не имя колонки
Column1 Like '%value%',
а выражение в котором используется 2 литерала
'Column1' like '%value%'

то, есть нужно удалить символы ' в названии колонки


удалял результат не изменился
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40010308
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014,

Код: c#
1.
DataTable dt = new DataTable();



этой строчкой ты создаёшь новую пустую таблицу без данных
и хочешь там что-то фильтровать?
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40010744
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да я уже понял что дело в пустой таблице
и решение думаю циклом пробегать по датагриде и строки закидывать в DataTable dt?
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011641
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У грида есть источник данных, для которого он отображает данные: DataGridView.DataSource .
Разберитесь, что у вас там в качестве него используется и попробуйте отфильтровать.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011642
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014
и решение думаю циклом пробегать по датагриде и строки закидывать в DataTable dt?

Фильтровать-то что хотите? Данные в гриде, или нужна их отфильтрованная копия?
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011729
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 09:51 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330059&msg=22220286][22220286]
>Фильтровать-то что хотите?...
<
Может быть имеет смысл конвертировать таблицу в список?
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011733
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне сейчас припоминается, что это делалось все немного не так.

Что, если вот так попробовать:

Код: c#
1.
2.
3.
4.
5.
var dataTable = new DataTable();
// тут накидать в dataTable столбцы и данные
var dataView = new DataView(dataTable);
dataGrid.DataSource = dataView;
dataView.RowFilter = "bla-bla-bla";
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011778
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>skyANA, сегодня, 09:51 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330059&msg=22220286][22220286]
>Фильтровать-то что хотите?...
<
Может быть имеет смысл конвертировать таблицу в список?

В список чего?
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011801
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 09:33 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330059&msg=22220554][22220554]
>В список чего?
<
Список строк таблицы.
Не использую тип DataTable, привязываю DataGrid непосредственно к списку, а посему не совсем понимаю проблемы автора. У списков есть не плохие методы и сортировки и фильтрации.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011814
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>skyANA, сегодня, 09:33 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330059&msg=22220554][22220554]
>В список чего?
<
Список строк таблицы.
Не использую тип DataTable, привязываю DataGrid непосредственно к списку, а посему не совсем понимаю проблемы автора. У списков есть не плохие методы и сортировки и фильтрации.

Для DataView также есть методы и сортировки и фильтрации.

На данный момент не понятно, что у автора выступает источником данных для грида: DataGridView.DataSource.
И чего же он хочет: отфильтровать исходные данные, или получить по ним некий срез.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011843
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Не использую тип DataTable, привязываю DataGrid непосредственно к списку, а посему не совсем понимаю проблемы автора. У списков есть не плохие методы и сортировки и фильтрации.

Какая еще такая фильтрация у списка? И как там у тебя с databinding?
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011891
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
ВМоисеев
Не использую тип DataTable, привязываю DataGrid непосредственно к списку, а посему не совсем понимаю проблемы автора. У списков есть не плохие методы и сортировки и фильтрации.

Какая еще такая фильтрация у списка? И как там у тебя с databinding?

Ты зачем этот вопрос задал? Сейчас как запостит портяну г...кода.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011906
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Ты зачем этот вопрос задал? Сейчас как запостит портяну г...кода.

авторНе буди лихо, пока оно тихо.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011937
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fkthat, сегодня, 12:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330059&msg=22220699][22220699]
>Какая еще такая фильтрация у списка? И как там у тебя с databinding?
<
Как здесь .
. . .
lcv_Приложения = new ListCollectionView(lst_Приложения);
lcv_Приложения.Filter = pdt_Приложения; //-- Predicate<object> pdt_Приложения=...
dg_Приложения.ItemsSource = lcv_Приложения;
. . .
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011956
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>fkthat, сегодня, 12:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330059&msg=22220699][22220699]
>Какая еще такая фильтрация у списка? И как там у тебя с databinding?
<
Как здесь .
. . .
lcv_Приложения = new ListCollectionView(lst_Приложения);
lcv_Приложения.Filter = pdt_Приложения; //-- Predicate<object> pdt_Приложения=...
dg_Приложения.ItemsSource = lcv_Приложения;
. . .

Если у ТС в качестве DataSource используется DataTable, то у него уже есть DefaultView, которому можно указать Filter.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011958
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
skyANA
ВМоисеев
>fkthat, сегодня, 12:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330059&msg=22220699][22220699]
>Какая еще такая фильтрация у списка? И как там у тебя с databinding?
<
Как здесь .
. . .
lcv_Приложения = new ListCollectionView(lst_Приложения);
lcv_Приложения.Filter = pdt_Приложения; //-- Predicate<object> pdt_Приложения=...
dg_Приложения.ItemsSource = lcv_Приложения;
. . .

Если у ТС в качестве DataSource используется DataTable, то у него уже есть DefaultView, которому можно указать Filter.

Фильтр можно указать и для DataTable
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011960
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вообще-то по нормальному DataGridView должен быть связан с источником через bindingsource.
У кого не связано - тот сам себе злобный Буратино.
Фильтрация делается через

https://docs.microsoft.com/ru-ru/dotnet/api/system.windows.forms.bindingsource.filter?view=netframework-4.8#System_Windows_Forms_BindingSource_Filter
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011966
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
Вообще-то по нормальному DataGridView должен быть связан с источником через bindingsource.
У кого не связано - тот сам себе злобный Буратино.
Фильтрация делается через

https://docs.microsoft.com/ru-ru/dotnet/api/system.windows.forms.bindingsource.filter?view=netframework-4.8#System_Windows_Forms_BindingSource_Filter

Дык BindingSource прописывается как DataGridView.DataSource.

Я уже писал:
skyANA
У грида есть источник данных, для которого он отображает данные: DataGridView.DataSource .
Разберитесь, что у вас там в качестве него используется и попробуйте отфильтровать.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011975
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 17:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330059&msg=22220949][22220949]
>Если у ТС в качестве DataSource используется DataTable...
<
сортировка возможна? (а-ля list.sort())
или а-ля такое
List<T> listT1 = listT0.Where(...).ToList<T>();
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40011984
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>skyANA, сегодня, 17:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330059&msg=22220949][22220949]
>Если у ТС в качестве DataSource используется DataTable...
<
сортировка возможна? (а-ля list.sort())
или а-ля такое
List<T> listT1 = listT0.Where(...).ToList<T>();

Возможна. В документации по классам и интерфейсам, что они реализуют, всё есть.
...
Рейтинг: 0 / 0
Фильтрация данных в DataGridView
    #40012018
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
skyANA
Cat2
Вообще-то по нормальному DataGridView должен быть связан с источником через bindingsource.
У кого не связано - тот сам себе злобный Буратино.
Фильтрация делается через

https://docs.microsoft.com/ru-ru/dotnet/api/system.windows.forms.bindingsource.filter?view=netframework-4.8#System_Windows_Forms_BindingSource_Filter

Дык BindingSource прописывается как DataGridView.DataSource.

Я уже писал:
skyANA
У грида есть источник данных, для которого он отображает данные: DataGridView.DataSource .
Разберитесь, что у вас там в качестве него используется и попробуйте отфильтровать.



Не все написанное обязательно полезно
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Фильтрация данных в DataGridView
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]