2017-03-06 59 views
-2

我在主表單中有一個datagridview。第二種形式一旦完成主窗體的網格刷新其數據並顯示最近添加的信息,則向數據庫添加一些信息。我怎樣才能做到這一點?刷新另一種形式的表單的DataGridView

private void AllBuses_Load(object sender, EventArgs e) 
     { 
    using (var context = new dbcontext()) 
       { 
        var q = (from b in context.Bus 
          join c in context.Centre 
          on b.centre_id equals c.centre_id 
          select new { b.bus_marque, b.bus_ref, b.bus_serie,  c.centre_nom }).ToList(); 
        dataGridView1.DataSource = q; 
        dataGridView1.Refresh(); 
       }} 

增加一對公交車到數據庫(從第二形態addbuses)後,主窗體的電網應立即或以後我關閉addbuses形式刷新其數據。

+0

你使用的是MDI容器還是簡單的表單? –

+0

只是簡單的形式 –

回答

0

你可以爲你的解決方案做這樣的事情。 傳遞mainForm的一個實例,同時從mainForm調用secondForm的構造函數,並創建一個從db中獲取數據並將其設置爲網格的方法。該數據集,以網格

public void RefreshGrid() 
    { 
     //put the code which get's data from db and set it to grid 
    } 

在您secondForm

private void openInsertBusForm() 
    { 
     Form2 frm = new Form2(this); 
     frm.Show(); 
    } 

法設定的MainForm的情況是這樣的。

private Form1 form1; 
    public Form2(Form1 frm1) 
    { 
     form1 = frm1; 
    } 

最後,將公交車後,從secondForm調用的MainForm的方法,即

private void addBus_Click(object sender, EventArgs e) 
    { 
     //after adding new data to your database 
     form1.RefreshGrid(); 
    } 

這樣,你的firstForm內的數據將被更新。

希望它有幫助。

+0

謝謝你很多<3 –

+0

你忘了添加這個InitializeComponent();在form1 = frm1之後; –

相關問題