BindingListをデータソースとしてBindingSourceをフィルタリングしようとしています。BindingSource.Filter ='Text Condition'を試しましたが、機能しませんでした。何も起こらず、画面上のデータは同じままです。しかし、データソースとしてDataSetを使用すると、機能します。BindingSource.Filterプロパティを使用してオブジェクトのリストをフィルタリングすることは可能ですか?
私は次のクラスを持っています:
class Person
{
public String Nombre { get; set; }
public String Apellido { get; set; }
public int DNI { get; set; }
public int Edad { get; set; }
public Decimal Tamano { get; set; }
}
これは私がそれを使用する方法です:
BindingList<Person> personas = new BindingList<Person> {
new Person{ Apellido = "App1", DNI = 3011, Edad = 20, Nombre ="Name1", Tamano = new decimal(1.7)}
,new Person{ Apellido = "App2", DNI = 1520, Edad = 30, Nombre ="Name2", Tamano = new decimal(1.5)}
,new Person{ Apellido = "App3", DNI = 5654, Edad = 21, Nombre ="Name3", Tamano = new decimal(1.6)}
,new Person{ Apellido = "App4", DNI = 778, Edad = 40, Nombre ="Name4", Tamano = new decimal(1.68)}
};
BindingSource bs = new BindingSource();
bs.DataSource = personas;
grid.DataSource = bs;
bs.Filter = "Apellido like 'App1'";
これは、がそのようなデータソースをフィルタリングできるかどうかをテストするというアイデアの単なる例です。私は新しいプロジェクトの中で知識を使用します。
pd:可能であれば、BindingSource.Filterを使用できるようにするという考え方です。