我有一個窗體顯示訪問數據庫中的表中的名稱,然後在一個按鈕單擊,我移動到form2我做了一些更改,如重命名一個字段,單擊確定,更改是在數據庫中製作的,我回到form1
,但是這個變化沒有反映出來。窗體不在C中刷新#
要查看更改,我必須重新啓動程序。
我試過form.refresh和form.invalidate,但沒有任何工作。
我在某處讀過線程必須完成,但我是c#的新手,並不知道線程。
有人可以建議除了線程以外的任何方式來做到這一點。 如果線程是唯一的方法,請建議一些好的資源和例子。
我有一個窗體顯示訪問數據庫中的表中的名稱,然後在一個按鈕單擊,我移動到form2我做了一些更改,如重命名一個字段,單擊確定,更改是在數據庫中製作的,我回到form1
,但是這個變化沒有反映出來。窗體不在C中刷新#
要查看更改,我必須重新啓動程序。
我試過form.refresh和form.invalidate,但沒有任何工作。
我在某處讀過線程必須完成,但我是c#的新手,並不知道線程。
有人可以建議除了線程以外的任何方式來做到這一點。 如果線程是唯一的方法,請建議一些好的資源和例子。
關於form1
的數據不會因爲您更新了基礎數據而改變。
您需要從數據庫中重新提取數據,並在從form2
返回時重新填充form1
。
您可以通過註冊form2.Closing
事件並在事件處理程序中執行重新提取和重新填充來完成此操作。
爲您希望更新的控件創建一個訪問器,或將Form1
的引用傳遞給Form2
。如果你去存取根,你可以嘗試在Form1
有
public dataGridView
{
get { return this.dataGridView1; }
set { this.dataGridView1 = value; }
}
然後,您可以從Form2
更新使用
Form1 accessForm1 = (Form1)this.Parent;
accessForm1.dataGridView.Update();
注:更新DataGridView
在Form1
使用本以及
accessForm1.dataGridView.Source = someDataBindingSource;
我希望這有助於。
你試過'gridView1.Refresh();'? – levi 2012-04-06 08:17:22