首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TableAdapter重装数据

使用TableAdapter重装数据
EN

Stack Overflow用户
提问于 2012-05-02 03:32:11
回答 2查看 14.9K关注 0票数 4
代码语言:javascript
复制
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);
}

如果在另一个表单中进行了更改,我如何重新加载数据?(最好在不使用刷新按钮的情况下自动)?

我使用的是WinForms,后台是Access 2007。

使用设计器将数据绑定到数据网格

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-02 04:12:58

首先,我将把Fill移到一个单独的函数中:

代码语言:javascript
复制
public void LoadData()
{
   this.usersTableAdapter.Fill(this.workOrdersDataSet.users);
}

然后,在执行Load事件时,您将调用以下函数:

代码语言:javascript
复制
private void UserList_Load(object sender, EventArgs e)
{
   LoadData();
}

如果您有另一个对数据执行更改的表单,则可以在另一个事件中调用此函数,如下所示。我在代码中使用了DialogResult

代码语言:javascript
复制
private void OpenOtherForm()
{
    DialogResult openForm = new OtherForm().ShowDialog();
    if(openForm == DialogResult.OK)
        LoadData();
}

在更新过程完成后,在另一个窗体的代码中包含一行代码,以告知您的主窗体进行更新:

代码语言:javascript
复制
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;
    }
}

然后使用DialogResult,告诉您的主窗体仅在实际发生更新时触发数据刷新。

票数 4
EN

Stack Overflow用户

发布于 2012-05-02 03:40:59

您可以将此行添加到另一个函数中,例如

代码语言:javascript
复制
public void MoveDataToUI()
{
   this.usersTableAdapter.Fill(this.workOrdersDataSet.users);
}

然后从even处理程序调用此函数,当有人以另一种形式更改某些内容时会引发该函数。

Events tutorial

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10403150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档