DataTable _carsTable;
public Form1()
{
    InitializeComponent();
    this.Load += Form1_Load;
}
private void Form1_Load(object sender, EventArgs e)
{
    OleDbConnection con = new OleDbConnection(
        "provider=microsoft.jet.oledb.4.0;Data Source=" +
        Environment.GetFolderPath(Environment.SpecialFolder.Personal) +
        "\\ComponentOne Samples\\Common\\C1NWind.mdb");
    _carsTable = new DataTable();
    new OleDbDataAdapter("Select * from Cars", con).Fill(_carsTable);
    c1DataFilter1.DataSource = GetCars().ToList();
    c1FlexGrid1.DataSource = GetCars().ToList();
    //カスタムモデルフィルタを初期化します
    //MultiSelectコントロールを使用して自動車のモデルをフィルタできます
    var modelFilter = new ModelFilter()
    {
        HeaderText = "Model",
        PropertyName = "Model",                
    };
    //MultiSelectコントロールのデータを設定します
    modelFilter.SetTagList(GetCars().ToList());
    //MultiSelectコントロールをカスタマイズして、コントロール
    //のヘッダーに5個以下の項目を表示します
    modelFilter.MultiSelect.MaxHeaderItems = 5;
    //FilterCollectionにカスタムフィルタを追加します
    c1DataFilter1.Filters.Add(modelFilter);
    //FilterChangedイベントに購読します
    c1DataFilter1.FilterChanged += C1DataFilter1_FilterChanged;
}
private void C1DataFilter1_FilterChanged(object sender, EventArgs e)
{
    //データを更新します
    c1FlexGrid1.DataSource = c1DataFilter1.View.Cast<Car>().ToList();
}
public IEnumerable<Car> GetCars()
{
    var carsTable = _carsTable;
    foreach (DataRow row in carsTable.Rows)
    {
        yield return new Car
        {
            Brand = row.Field<string>("Brand"),
            Category = row.Field<string>("Category"),
            Description = row.Field<string>("Description"),
            Liter = row.Field<double>("Liter"),
            Model = row.Field<string>("Model"),
            Picture = row.Field<byte[]>("Picture"),
            Price = row.Field<double>("Price"),
            TransmissAutomatic = row.Field<string>("TransmissAutomatic"),
            ID = row.Field<int>("ID")
        };
    }
}