如何在运行时重新加载数据网格视图 c#
How to reload the data grid view during runtime c#
每次 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 table
是 refresh
和 data grid view
中的 show
,我试过这个代码
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
。每次我 add
new item
,我都需要 close
和 open
再次 form
才能在 data grid view
.[=27 中显示=]
您可以使用 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.Load
,Form.Shown
:
Order of events 'Form.Load', 'Form.Shown' and 'Form.Activated' in Windows Forms
@Caius Jard 在评论中指出,您可以通过“Form Designer --> Properties --> Events --> double 简单地添加 Form.Shown
事件处理程序单击 Shown 然后添加代码”,而不是我上面提到的 Form1_Load
中的 Shown += Form1_Shown;
。
每次 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 table
是 refresh
和 data grid view
中的 show
,我试过这个代码
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
。每次我 add
new item
,我都需要 close
和 open
再次 form
才能在 data grid view
.[=27 中显示=]
您可以使用 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.Load
,Form.Shown
:
Order of events 'Form.Load', 'Form.Shown' and 'Form.Activated' in Windows Forms
@Caius Jard 在评论中指出,您可以通过“Form Designer --> Properties --> Events --> double 简单地添加 Form.Shown
事件处理程序单击 Shown 然后添加代码”,而不是我上面提到的 Form1_Load
中的 Shown += Form1_Shown;
。