Kirsten the generic List class already has a FindIndex function you can use
int idx = custlist.FindIndex(c => c.CustomerID == customerID); BindingNavigator.BindingSource.Position = idx; On Thu, Jul 14, 2011 at 12:32 PM, Kirsten Greed <kirst...@jobtalk.com.au> wrote: > > > Ah Ha! > > Customer cust = custlist.Find(c => c.CustomerID == customerID); > > int idx = custlist.LastIndexOf(cust); > > BindingNavigator.BindingSource.Position = idx; > > > > > > ________________________________ > > From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] > On Behalf Of Kirsten Greed > Sent: Thursday, 14 July 2011 10:46 AM > > To: 'ozDotNet' > Subject: RE: BindingSource.Find with Entity Framework - > NotSupportedException > > > > Hi Greg > > I should have mentioned that I am playing with the BindingNavigator control > to implement a data entry screen, and a grid to implement a browse screen. > > I want to click the grid and have the Navigator move to the record I > selected in the grid. > > I thought BindingNavigator.DataSource.Find would be the way to do it, is > there a better way? > > Kirsten > > > > ________________________________ > > From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] > On Behalf Of Greg Keogh > Sent: Thursday, 14 July 2011 10:35 AM > To: 'ozDotNet' > Subject: RE: BindingSource.Find with Entity Framework - > NotSupportedException > > > > BindingSource.DataSource = GetCustomers(); > > BindingSource.Sort = "CustomerID"; > > BindingSource.Find("CustomerID", customerID ); > > > > NotSupportedException > > This operation requires an IBindingList. > > > > The generic List class does not implement IBindingList. I’m not sure who is > asking for the IBindingList, but it has to be the Find method. Ah yes, only > DataSet, DataTable and DataView implement it. > > > > I think you’re misusing the BindingSource. I usually put it “between” the > real data source collection and a control like a grid where it gives me a > bit more flexibility in UI binding. If you want to find certain Customers > that I’d search the actual List, not the binding source. > > > > Customer cust = custList.Find(c => c.CustomerID == 666); > > or > > Customer cust = (from c in custList where c.CustomerID == 666 select > c).SingleOrDefault(); > > > > Greg > > __________ Information from ESET NOD32 Antivirus, version of virus signature > database 6292 (20110713) __________ > > The message was checked by ESET NOD32 Antivirus. > > http://www.eset.com > > __________ Information from ESET NOD32 Antivirus, version of virus signature > database 6292 (20110713) __________ > > The message was checked by ESET NOD32 Antivirus. > > http://www.eset.com