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

Tagged as

Go to top

Achieve performance while updating a datatable bound to a bindingsource or datagridview

, 15 Feb 2010
Rate this:
Please Sign up or sign in to vote.
Datatable in ADO.NET is highly useful to do in memory data related operations. But it is very painful to update data when it is bound to a datagridview or bindingsource.While I was developing an application in .NET with C#, I came across this problem in which I had to modify a data table of...
Datatable in ADO.NET is highly useful to do in memory data related operations. But it is very painful to update data when it is bound to a datagridview or bindingsource.
 
While I was developing an application in .NET with C#, I came across this problem in which I had to modify a data table of 100000 records. It took lots of time to update the entire table. I Googled how best I could to come out of this problem. Everywhere I got suggestions to set the below mentioned properties before and after updation:
 
 BindingSource bs = new BindingSource();
DataTable dt = new DataTable();
 
bs.DataSource = dt;
bs.SuspendBinding();
bs.RaiseListChangedEvents = false;
dt.BeginLoadData();
            
//== some modification on data table

dt.EndLoadData();
bs.RaiseListChangedEvents = true;
bs.ResumeBinding();
bs.ResetBindings(true);

The above code snippet performed OK compared to simple updation of datatable without setting properties. Still I wanted to achieve more performance while modifying datatable.
Upon investigation, I could achieve it by setting the filter property of binding source.

  
BindingSource bs = new BindingSource();
DataTable dt = new DataTable();
 
bs.DataSource = dt;
bs.SuspendBinding();
bs.RaiseListChangedEvents = false; 
bs.Filter = "1=0"; 
dt.BeginLoadData(); 
        
//== some modification on data table

dt.EndLoadData();
bs.RaiseListChangedEvents = true;
bs.Filter = "";

License

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

Share

About the Author

Ravi LVS

India India
No Biography provided

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web01 | 2.8.140926.1 | Last Updated 16 Feb 2010
Article Copyright 2010 by Ravi LVS
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid