1
在我的C#winform項目中,我使用了幾個用戶控件。 這包含兩個選項,這樣動態更新usercontrol
Home > Person > Addperson
Home > Teacher > AddTeacher
人員和教師含有從數據庫中顯示所有的人/教師列表框。 當我添加使用添加人,數據輸入成功。但是當我回到人它沒有顯示任何東西。同時如果我回到家裏並進入AddTeacher選項,在這裏從下拉列表中我可以找到新添加的數據。
現在,如果我將該人員添加爲教師並返回教師,它將不顯示任何內容,但實際插入的數據不會成功。然後,如果我關閉整個程序並重新打開,而不是所有內容都正確顯示。
我只想刷新那些usercontrol以便每次發生任何更改時都會立即顯示該更改,而不會關閉整個程序。
我嘗試過不同的方法,但沒有一個能起作用。我試過刷新方法。在實際數據源聲明之前,還嘗試使用 和datasource=null
。
代碼列表框的人:
var personListDictionary = new Dictionary<int, string>();
SqlCommand prsonListCmd = new SqlCommand("SQL QUERY", Connection);
SqlDataReader dr = prsonListCmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
...
personListDictionary.Add(Key, Value);
}
}
PersonList.DisplayMember = "Value";
PersonList.ValueMember = "Key";
PersonList.DataSource = new BindingSource(personListDictionary, null);
那麼你必須以某種方式通知該人或教師用戶控件他們必須刷新。一種方法是在AddPerson和AddTeacher用戶控件中引發OnEntityAdded或類似內容,並在Person或Teacher中處理它。 – sventevit
@sventevit我不知道你想說什麼。請解釋更多。有什麼具體的方法來做這種刷新嗎? – Nabil