Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

Есть класс, в этом классе есть функция которая возвращает список
Код:
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,022
По умолчанию

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает фильтр по 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 10:59