Solved

How to refresh a DataGridView?

Posted on 2007-11-13
5
12,525 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

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Dot Net 4.6.1 installation fails on W2012 R2 server 14 37
Need help Creating PowerShell Script 5 53
linq, c# 8 22
PowerShell:  Column widths won't expand 3 17
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

839 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