【问题标题】:How to reload the data grid view during runtime c#如何在运行时重新加载数据网格视图c#
【发布时间】:2020-10-16 16:15:11
【问题描述】:

每次form 打开时,我都会重新加载data grid view 的数据。

 Student_DetailEntities db = new Student_DetailEntities();
 private void Form1_Load(object sender, EventArgs e)
 {
     db.StudentTables.Load();
     studentTableBindingSource.DataSource = db.StudentTables.Local;
 }

为了确保data tabledata grid view 中是refreshshow,我已经尝试过这段代码

private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
{
        Application.Restart();
        Environment.Exit(0);
}

我试试

private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
{
        this.Controls.Clear();
        this.InitializeComponent();
}
  

但是data grid view 仍然是not reload。每次我additem 时,我都需要closeopen form 再次显示在data grid view 中。

【问题讨论】:

  • form1怎么打开?
  • 当我运行程序时,它会打开包含数据网格视图的form1。仅当用户单击 form1 上的菜单条时,才会打开另一个添加新项目的表单
  • 你应该把Form1_Load的代码放在refreshToolStripMenuItem_Click
  • 我试过了。但这只是让它变得多余。另一个菜单条显示在前一个菜单条下方。

标签: c# forms datatable datagridview application-restart


【解决方案1】:

您可以使用Shown 事件而不是Form.Load。这样您就可以在每次显示表单时重新加载数据。

Student_DetailEntities db = new Student_DetailEntities();
private void Form1_Load(object sender, EventArgs e)
{
    Shown += Form1_Shown; 
}
 
 
private void Form1_Shown(object sender, EventArgs e) 
{
     db.StudentTables.Load();
     studentTableBindingSource.DataSource = db.StudentTables.Local;
}

详见Form.LoadForm.Shown

Order of events 'Form.Load', 'Form.Shown' and 'Form.Activated' in Windows Forms

@Caius Jard 在 cmets 中指出,您可以通过“表单设计器 --> 属性 --> 事件 --> 双击显示然后添加代码”来简单地添加 Form.Shown 事件处理程序。我上面提到的Form1_Load 中的Shown += Form1_Shown;

【讨论】:

  • 你是对的。我也添加了你的建议。感谢贡献
  • 我已经添加了form_1_shownform_1_load,如上所示。但是当我做application.restart 时,它仍然没有重新加载。数据网格视图仍然显示相同的结果。
  • 您不需要Application.Restart,只需尝试使用ShowDialog
  • 你的意思是我在refreshToolStripMenuItem_Click下使用Form f = new Form(); f.ShowDialog = DialogResult.OK;
  • 这取决于你想要什么,你可以使用 ShowDialog 作为Form f = new Form(); f.ShowDialog(); 或者你可以使用var f = new Form(); f.Show();stackoverflow.com/questions/3965043/…
猜你喜欢
  • 1970-01-01
  • 2011-06-24
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
  • 2012-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多