我對C#中的數據庫(但不是C#本身)和數據綁定的整個概念非常陌生,所以請牢記這一點。如果這影響到我也使用SQL Server CE。如何獲取綁定的winforms控件在其數據源更新時進行刷新?
我試圖使用VS2010構建的強類型數據集來訪問SQL Server CE數據庫,並將WinForms控件綁定到它以顯示數據。我可以很好地控制綁定,並顯示當前數據庫中的數據沒有問題。我也可以在數據庫中插入新數據,如果我重新啓動應用程序,插入的數據顯示在控件中(特別是ComboBox,但我將來會使用更多)。
問題是新行根本沒有顯示,直到我重新啓動應用程序,我對數據綁定的理解是控件應該自動更新自己。我已經閱讀了關於INotifyPropertyChanged的內容,但是我不確定在這裏使用它是否正確,如果是這樣,我如何將它用於行插入?
我綁定組合框像這樣:
DataSet.tagDataTable tagdata = new tagTableAdapter().GetData();
comboBox1.DataSource = tagdata;
comboBox1.DisplayMember = tagdata.tagnameColumn.ColumnName;
comboBox1.ValueMember = tagdata.tagIDColumn.ColumnName;
和插入這樣的:
Guid g = Guid.NewGuid();
new tagTableAdapter().Insert(g, Name)
其中Name是剛剛從一個文本框拉的字符串。
謝謝。
編輯:我應該提到我使用的數據庫表叫做標籤,有兩列,標籤ID和標記名。 tagID是一個GUID,標記名是一個varchar。
請檢查[如何向數據表添加行](http://msdn.microsoft.com/en-us/library/5ycd1034%28v=vs.100%29.aspx)。我相信通過DataTable添加一行將觸發必要的通知。如果沒有,嘗試在[BindingSource類](http://msdn.microsoft.com/en-us/library/h974h4y2.aspx) – 2012-04-08 19:59:33