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
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.
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.DataSou
}
private void button1_Click(object sender, EventArgs e)
{
DataRow nr = dt.NewRow();
nr["Column1"] = 1;
dt.Rows.Add(nr);
}