2012-07-04 30 views
0

我在.net壓縮框架C#中有一個datagrid,我將它的數據源設置爲一個列表,我的問題是當列表大小增加時,網格不添加新的添加項,我必須通過退出表單並重新進入它來查看新條目來重新創建網格。可見行的數量保持不變,例如,如果我從列表中的10個條目到20條條目,數據網格仍然只顯示10個可見行,如果我退出並重新輸入表單,則同一個列表最終會給出數據網格20個可見的行..當數據源增加時DataGrid不擴展以容納更多項目

回答

0

實際上沒有辦法做到這一點,並且每次發生cahnge時都會手動重新填充數據庫,然後刷新它以確保更改可見。

+0

接受你自己的答案是好的,但我認爲這將有助於展示一段代碼來展示你實際做了什麼來完成這項工作(如重新分配'DataSource',就像我期望的那樣)。 –

+0

我正在考慮發佈一些代碼,但實際上我所做的只是重新分配數據源並在datagird控件上調用refresh(),所以它不足以展示任何東西。 – tweetypi

+0

對,但你從來沒有提到重新分配'DataSource',或者特別提到你在'DataGridView'上調用'Refresh()'。這將是有益的,國際海事組織。 –

1

您的列表需要執行INotifyCollectionChanged。一種方法是使用ObservableCollection<T>。當綁定到支持INotifyCollectionChanged的對象時,網格將在添加或刪除記錄時更新。

如果網格單元需要更新對象上的屬性更改時,則對象需要實現INotifyPropertyChanged

+0

不幸的是,Compact Framework不支持ObservableCollections ... – tweetypi

相關問題