Привязки данных в C #, фильтрация в одном элементе управления влияет на данные в другом элементе управления - PullRequest
2 голосов
/ 25 ноября 2011

У меня есть статический список данных, который называется Services.У меня также есть два объекта BindingSource, и этот список ограничен ими обоими:

this.bindingSources1.DataSource = Instance.Services;
this.cbx1.DataSource = this.bindingSources1;
this.bindingSources2.DataSource = Instance.Services;
this.cbx2.DataSource = this.bindingSources2;

Когда я устанавливаю свойство Filter в первом BindingSource объекте:

this.bindingSource1.Filter = " Id = 2 ";

в cbx1 есть только один объект, но в cbx2 их два.Как настроить привязку, чтобы установка свойства Filter в одном BindingSource не влияла на источник данных во втором cbx?

Нужно ли использовать DataSet и DataTable?

Спасибо

Ответы [ 2 ]

0 голосов
/ 25 ноября 2011

Если вы попытаетесь установить привязку SourceSable для DataTable и использовать DataTable dt=new DataTable(); и использовать dt.DefaultView, чтобы внести изменения, это не повлияет на данные в таблице данных

0 голосов
/ 25 ноября 2011

Я думаю, что вам может понадобиться создать новый BindingContext либо для bindingSources2, либо для cbx2 (мы не используем BindingSources, поэтому я не на 100% использую его).

Iпопробуйте добавить:

this.bindingSources2.BindingContext = new BindingContext();

непосредственно перед:

this.bindingSources2.DataSource = Instance.Services;
...