Solved

How to refresh a DataGridView?

Posted on 2007-11-13
5
12,516 Views
Last Modified: 2013-11-26
All,
i have a datagridview, the data source of it is a List. what i want to do are:
1. Add new data to the list
2. bind the list to dataGridView
3. refresh the dataGridView
example:
lstGrpMaster.Add(Master1);
dataGridViewMaster.DataSource = _lstGrpMaster;
dataGridViewMaster.Refresh();

the above code does not work. Do you have any idea?
thanks a lot
viola
0
Comment
Question by:viola123
5 Comments
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 20277760
Hi viola,

Instead of dataGridViewMaster.Refresh(), use dataGridViewMaster.Databind().

Regards,

Wayne
0
 
LVL 30

Accepted Solution

by:
Alexandre Simões earned 500 total points
ID: 20277767
the direct answer to that is to set the DataSource to null before setting it to the actual datasource.
This will force the datagrid to "refresh" itself.

BUT...
If the datagrid have the DataSource property set, changing the datasource will automatically show on the grid.

Try the example bellow:
Drag a DataGridView and a button into an empty form.
Paste the code bellow into the form.

Run the project and click the button, you'll see the rows appearing and I'm not running any refresh code.

            DataTable dt = new DataTable();
            private void Form1_Load(object sender, EventArgs e)
            {
                  
                  dt.Columns.Add("Column1", typeof(int));

                  DataRow nr = dt.NewRow();
                  nr["Column1"] = 1;
                  dt.Rows.Add(nr);

                  nr = dt.NewRow();
                  nr["Column1"] = 2;
                  dt.Rows.Add(nr);

                  this.dataGridView1.DataSource = dt;
            }

            private void button1_Click(object sender, EventArgs e)
            {
                  DataRow nr = dt.NewRow();
                  nr["Column1"] = 1;
                  dt.Rows.Add(nr);
            }
0
 
LVL 30

Expert Comment

by:Alexandre Simões
ID: 20277773
Forgot to ask, is this windows or web?

I assumed it's windows because windows grid is called dataGridView and the web GridView have no Refresh method.
0
 
LVL 6

Author Comment

by:viola123
ID: 20278003
All,
thanks. i figured it out, you have to set the datasource to Null first and then assign the datasource again.

AlexCode: it is windows application.

0
 

Expert Comment

by:Samooramad
ID: 23248163
nevermind, stupid question. I had the dataset size set incorreclty. Thanks
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
A company’s greatest vulnerability is their email. CEO fraud, ransomware and spear phishing attacks are the no1 threat to a company’s security. Cybercrime is responsible for the largest loss of money to companies today with losses projected to r…

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now