views:

520

answers:

0

Hi, I'm having some issue getting a row filter on my dataGridView because the DataMember of the dataGridView is itself a member of the larger bindingSource List object that I am using as a datasource. (thats a mouthful, sorry).

Heres some pseudo for my structure....

class DataDisplayObject
{

    public string Value { get; set; }
    public string Description { get; set; }
    public List<DataPoint> DataPointsList { get; set; }

    internal struct DataPoint
    {
        public string Name { get; set; }
        public string ID { get; set; }
        public string Required { get; set; }

    }

    public DataDisplayObject()
    {
        DataPointsList = new List<DataPoint>();
    }
}

and the form code (the BindSourceEventList is a list of DataDisplayObjects)...

        comboBox.DataSource = _triggerApp.BindingSourceEventList;
        comboBox.DisplayMember = "Value";

        _triggerApp.BindingSourceEventList.Filter = "Required = '1'";
        dataGridViewDataPoints.DataSource = _triggerApp.BindingSourceEventList;
        dataGridViewDataPoints.DataMember = "DataPointsList";

so basically, the higher level DisplayObject is used as the bindingSource for the comboBox and the DataPoint child List is used as the bindingSource for the dataGridView. Obvious problem with that Filter is that is applies to the bindingSource's top level list properties, not the child collection of DataPoints that contain the 'Required' property I need to filter on for the dataGridView. Any ideas?

Thanks!