Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 22.04.2014, 20:23   #1
qrax
Пользователь
 
Регистрация: 14.04.2014
Сообщений: 12
Репутация: 10
По умолчанию Не работает фильтр

Проблема следующая:

Есть класс, в этом классе есть функция которая возвращает список
Код:

public ArrayList GetInfo()
        {
            ArrayList Info = new ArrayList();
            string Query = "select Pacient.id_pacient, Pacient.LastName, Pacient.FirstName, Pacient.ThirdName, Pacient.BirthDay, Pacient.Diagnoz, Pacient.DayGo, userss.id_vrach, userss.FIO, Pribor.NamePribor From Pacient, userss, Pribor Where Pacient.FKid_doctor = userss.id_vrach AND Pacient.FKid_Pribor = Pribor.id_pribor";
            using (SqlConnection Connect = new SqlConnection(connectionString))
            {
                SqlCommand Command = new SqlCommand(Query, Connect);
                try
                {
                    Connect.Open();
                    SqlDataReader SReader = Command.ExecuteReader();
                    if (SReader.HasRows)
                    {
                        foreach (DbDataRecord result in SReader)
                        {
                            Info.Add(result);
                        }
                    }
                    else
                        return null;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка");
                }
            }
            return Info;
        }

Есть форма, туда закинул bindingSource, чтоб в дальнейшем иметь возможность фильтровать (несколько фильтров)
Эти данные отображаю через DataGridView

Код:

ClassDAL cDALForm1 = new ClassDAL();
       public Form1()
        {
            InitializeComponent();
            mybindingSource.DataSource = cDALForm1.GetInfo();
            PaintDataGridFunc();
            
        }
 
        public void PaintDataGridFunc()
        {
                dataGridViewPacient.DataSource = mybindingSource;
                dataGridViewPacient.Columns[0].Visible = false;
                dataGridViewPacient.TopLeftHeaderCell.Value = "№";
                dataGridViewPacient.Columns["LastName"].HeaderText = "Фамилия";
                dataGridViewPacient.Columns["FirstName"].HeaderText = "Имя";
                dataGridViewPacient.Columns["ThirdName"].HeaderText = "Отчество";
                dataGridViewPacient.Columns["BirthDay"].HeaderText = "Дата рождения";
                dataGridViewPacient.Columns["Diagnoz"].HeaderText = "Диагноз";
                dataGridViewPacient.Columns["DayGo"].HeaderText = "Дата направления";
                dataGridViewPacient.Columns["id_vrach"].Visible = false; 
                dataGridViewPacient.Columns["FIO"].HeaderText = "Врач";
                dataGridViewPacient.Columns["NamePribor"].HeaderText = "Назначенный прибор";
              
            }
     
        }

При вводе в текстовом поле надо фильтровать данные по фамилии

Код:

private void SearchtextBox_TextChanged(object sender, EventArgs e)
        {
 
 
            mybindingSource.Filter = "[LastName] LIKE '" + SearchtextBox.Text + "%'";
           // PaintDataGridFunc();
            
        }

У меня не работает, в чем может быть причина?
qrax вне форума   Ответить с цитированием
Старый 22.04.2014, 21:19   #2
eval
паяю
 
Регистрация: 29.08.2012
Сообщений: 4,030
Репутация: 422
По умолчанию

причин может быть мильен
eval вне форума   Ответить с цитированием
Старый 23.04.2014, 14:41   #3
nedel
Пользователь
 
Регистрация: 09.04.2014
Сообщений: 18
Репутация: 10
По умолчанию

msdn
Цитата:
свойство Filter позволяет просматривать подмножество DataSource. Лежащие в основе только списки, которые реализуют интерфейс фильтрации поддержки интерфейса IBindingListView
а ArrayList не реализует интерфейса IBindingListView, соответственно работать и не будет.
Может Вам стоит посмотреть в сторону DataTable, и использовать вместо ArrayList, тогда все заработает.
nedel вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает фильтр по ADOTable Red_Garry БД в Delphi 6 15.08.2013 16:55
Фильтр в DBGrid не работает debar1 C++ Builder 3 29.11.2012 11:39
не работает фильтр в ehlib! kate158 Компоненты Delphi 0 05.08.2010 15:02
ADOTable Не работает фильтр Yuran БД в Delphi 5 22.05.2010 01:20
не работает фильтр Rin БД в Delphi 7 23.12.2009 11:59


04:06.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru