powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Фильтр записей в датагриде (биндинг к данным linq to sql)
4 сообщений из 4, страница 1 из 1
Фильтр записей в датагриде (биндинг к данным linq to sql)
    #37607998
cha0ss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,
подскажите пожалуйста, как правильней реализовать следующую задачу:
Необходимо отобразить все данные в датагриде из таблицы БД (MS SQL Server). Плюс надо реализовать фильтр (допустим показать все записи, где Org_id = 24).

Что делаю:
1. Через Linq To Sql получил набор всех записей и затащил их в датагрид:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
 	    
private IQueryable<Employee> emp;

void  Form1_Load(object sender, EventArgs e)
        {
this.dc = new MyDBDataContext();
            this.emp = this.dc.Employee;
            this.dgEmployes.DataSource = this.emp;
}


2. При нажатии на кнопку фильтр обновляем записи в датагриде:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
            if (this.textBox1.Text == "")
                this.dgEmployes.DataSource = this.emp;

            int i;
            if (int.TryParse(this.textBox1.Text, out i))
            {
                this.dgEmployes.DataSource = this.emp.Where(c => c.Org_id == i);
            } 



Проблемы следующие:
- Если в датагрид добавляем запись, допустим с Org_id = 13, и делаем фильтр на Org_id = 13, то в списке не выводится новая запись.
- При каждом фильтре идет запрос в базу.
...
Рейтинг: 0 / 0
Фильтр записей в датагриде (биндинг к данным linq to sql)
    #37608060
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cha0ssЗдравствуйте,
подскажите пожалуйста, как правильней реализовать следующую задачу:
Необходимо отобразить все данные в датагриде из таблицы БД (MS SQL Server). Плюс надо реализовать фильтр (допустим показать все записи, где Org_id = 24).

Что делаю:
1. Через Linq To Sql получил набор всех записей и затащил их в датагрид:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
 	    
private IQueryable<Employee> emp;

void  Form1_Load(object sender, EventArgs e)
        {
this.dc = new MyDBDataContext();
            this.emp = this.dc.Employee;
            this.dgEmployes.DataSource = this.emp;
}


2. При нажатии на кнопку фильтр обновляем записи в датагриде:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
            if (this.textBox1.Text == "")
                this.dgEmployes.DataSource = this.emp;

            int i;
            if (int.TryParse(this.textBox1.Text, out i))
            {
                this.dgEmployes.DataSource = this.emp.Where(c => c.Org_id == i);
            } 



Проблемы следующие:
1) Если в датагрид добавляем запись, допустим с Org_id = 13, и делаем фильтр на Org_id = 13, то в списке не выводится новая запись.
2) При каждом фильтре идет запрос в базу.

1) Возможно вы при этом не сохранили изменения в базу
2) Фильтруйте через CollectionView а не через запрос.
...
Рейтинг: 0 / 0
Фильтр записей в датагриде (биндинг к данным linq to sql)
    #37609764
cha0ss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lelouch1) Возможно вы при этом не сохранили изменения в базу

В том то и дело, что я хочу сохранить в самом конце, когда пользователь произвел необходимые изменения.

Lelouch2) Фильтруйте через CollectionView а не через запрос.

Киньте пожалуйста примером, я пробую так, не получается (вообще ничего не выводит):

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
         private IQueryable<Employee> emp;
         private CollectionViewSource s;

void  Form1_Load(object sender, EventArgs e)
        {
            this.dc = new MyDBDataContext();
            this.emp = this.dc.Employee;

            this.s = new CollectionViewSource();
            this.s.Source = this.emp.ToList();
            this.dgEmployes.DataSource = this.s.View;
}



P.S Я использую не WPF, простой DataGridView.
...
Рейтинг: 0 / 0
Фильтр записей в датагриде (биндинг к данным linq to sql)
    #37609983
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cha0ss,

с Forms не выйдет.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Фильтр записей в датагриде (биндинг к данным linq to sql)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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