How are you populating your dataset in the first place? you may simply be able to avoid the duplicates by using different SQL syntax if you are pulling this data from a database. That puts the work on the database versus on the windows app, and will likely save time because you dont have to fill up 2 controls and then filter them. You simply only get back the records needed to fill the listviews.