Click here to Skip to main content
Click here to Skip to main content

Tagged as

Access the Data Rows Filtered by the BindingSource.Filter Property

, 12 Mar 2010
Rate this:
Please Sign up or sign in to vote.
I recently had created a windows forms application in VB.Net2008 and made use of the BindingSource control to bind all the forms controls to the underlying SQL Queried data.I built user functionality on the form to allow the user to further filter (client side filtering ) the original data...
I recently had created a windows forms application in VB.Net2008 and made use of the BindingSource control to bind all the forms controls to the underlying SQL Queried data.
 
I built user functionality on the form to allow the user to further filter (client side filtering ) the original data without having to re-query the database.
 
The BindingSource.Filter property acts like a WHERE clause in SQL and depending on the underlying data will support statements such as "Field = 'xyz'" or "Field Not In('a','b','c')"
 
I was looking for a method of accessing the filtered row set as a data table to make use of the WriteXML function to export the data to file, after many hours reading the documentation and searching the net, it was still not very clear. Putting together snippets from various places I arrived at the following code to meet my needs.
 
After performing the initial query on the database and then setting the BindingSource.Filter property, the required data can be accessed via BindingSource.List
 
To expose the filtered data as a standalone data table the following code can be used to obtain the rows from the binding source;
 
    Dim dv as DataView = ctype(BindingSource.List, DataView)
    Dim dt as DataTable = dv.ToTable()
 
All the filtered data rows are now accessible from the new data table.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

DaveAuld
Engineer
Scotland Scotland
I have been working in the Oil & Gas Industry for over 20 years now.
 
Core Discipline is Instrumentation and Control Systems.
 
Completed Bsc Honours Degree (B29 in Computing) with the Open University in 2012.
 
Currently, Offshore Installation Manager for the Beryl Bravo platform, which is located ~180 miles NE of Aberdeen, Scotland in the Northern North Sea.
Formely on the Forties Charlie platform, which is located ~110Miles NE of Aberdeen.
Follow on   Twitter   Google+   LinkedIn

Comments and Discussions

 
GeneralReason for my vote of 5 fantastic..only place I've been able... Pinmemberrborob8-Jul-10 5:01 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web02 | 2.8.140814.1 | Last Updated 13 Mar 2010
Article Copyright 2010 by DaveAuld
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid