Reload data using TableAdapter
Solution 1
First, I would move the Fill
to a separate function:
public void LoadData()
{
this.usersTableAdapter.Fill(this.workOrdersDataSet.users);
}
Then when you do your Load Event, you will call the function:
private void UserList_Load(object sender, EventArgs e)
{
LoadData();
}
If you have another form that performs changes on the data, you can call this function in another event, similar to this. I use DialogResult
in my code:
private void OpenOtherForm()
{
DialogResult openForm = new OtherForm().ShowDialog();
if(openForm == DialogResult.OK)
LoadData();
}
In your code for the other Form after your update process is complete, include a line of code to tell your main form to update:
private void PerformUpdate()
{
try
{
// your update code goes here
DialogResult = DialogResult.OK; // this is the line that tells your other form to refresh
}
catch (Exception ex)
{
DialogResult = DialogResult.Abort;
}
}
using the DialogResult
then, tells your main form to trigger the Refresh of the Data only when an Update actually takes place.
Solution 2
You can add this line into another function, say
public void MoveDataToUI()
{
this.usersTableAdapter.Fill(this.workOrdersDataSet.users);
}
and after call this function from the even handler, which is raised when someone changes something in another form.
Cocoa Dev
Updated on June 04, 2022Comments
-
Cocoa Dev almost 2 years
private void UserList_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'workOrdersDataSet.users' table. You can move, or remove it, as needed. this.usersTableAdapter.Fill(this.workOrdersDataSet.users); }
How can I reload the data if changes were made in another form? (preferably automatically without using a Refresh button)?
I am using WinForms and the backend is Access 2007.
The data is bound using the Designer to a Datagrid
-
Cocoa Dev about 12 yearsI did your recommendation but the DataGridView did not update. My button code says private void buttonNewUser_Click(object sender, EventArgs e) { //NewUserForm nuf = new NewUserForm(); //nuf.Show(); OpenOtherForm(); }
-
Taryn about 12 yearson your other form are you using the DialogResult?
-
shawn over 9 yearsIm trying to clear the table to refresh the data grid Im using sqldata adapter and dataset with binding I can load the data but when I add new data to the datatable I need to refresh so it shows the new data being added I tried Dataset.Clear(); then after that I put DataAdapter.Fill(Dataset) the dataGrid is using the datamember and datasource bindings in the visual studio but that method is not working why it works, it should using Oledb but im using SQL Oledb
-
Taryn over 9 years@shawn I'd suggest posting a new question with your code and include any errors, etc you are getting.