在實體框架當我添加從數據源拖動網格視圖只顯示計數&是隻讀列,我也嘗試手動分配數據源,但仍然無法正常工作。EF5 Grdiview只計數&只讀
2
A
回答
4
通過一些研究,我發現了一個解決方案。
順便說一句我先使用代碼。
在父實體中,我將列表中的子屬性更改爲ObservableCollection。 我還將名稱空間System.Collections.ObjectModel添加到我的類中。
老:Public Overridable Property PageElements As List(Of PageElement)
新:Public Overridable Property PageElements As ObservableCollection(Of PageElement)
刪除您現有的數據源(和控件的形式)。然後重新創建您的數據源拖動到窗體。
您可能需要創建一個名爲ObservableListSource的類,並使用該類代替ObservableCollection,但它似乎已清除了迄今爲止的原始問題。
這裏是我在網上其他地方找到的ObservableListSource的建議定義。
Public Class ObservableListSource(Of T As Class)
Inherits ObservableCollection(Of T)
Implements IListSource
Private _bindingList As IBindingList
Private ReadOnly Property ContainsListCollection() As Boolean Implements IListSource.ContainsListCollection
Get
Return False
End Get
End Property
Private Function GetList() As IList Implements IListSource.GetList
Return If(_bindingList, (InlineAssignHelper(_bindingList, Me.ToBindingList())))
End Function
Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, value As T) As T
target = value
Return value
End Function
EndCLass
3
這對我的作品(EF6):
添加ObservableListSource
類項目和變更名稱空間
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Data.Entity;
namespace WinApp
{
public class ObservableListSource<T> : ObservableCollection<T>, IListSource
where T : class
{
private IBindingList _bindingList;
bool IListSource.ContainsListCollection { get { return false; } }
IList IListSource.GetList()
{
return _bindingList ?? (_bindingList = this.ToBindingList());
}
}
}
打開yourModel.tt
文件後
- 使用
「ObservableListSource」
(行296
和484
)查找並替換「ICollection」
的兩次出現。 - 用
「ObservableListSource」
(行50
)查找並替換第一個出現的「HashSet」
。 - 不要替換稍後在代碼中找到的第二次出現的HashSet。
+1
任何原因爲什麼在EF6中這個問題?我覺得很奇怪。 – Saleh
相關問題
- 1. 數據庫表設計爲只讀值
- 2. 只讀參數 - Teamcity
- 3. 只讀
- 4. 只寫只讀字段
- 5. 只讀VS自動(只讀)屬性
- 6. 使textfield只讀部分只讀jquery mobile
- 7. 使只讀工具只讀文本框
- 8. SVN:只讀/檢出只讀文件
- 9. 只讀集合屬性的類設計
- 10. 如何設計「只讀」網站模式?
- 11. 只讀mysql數據庫
- 12. 從掃描儀只讀數
- 13. PHP只讀功能參數
- 14. C++ ifstream的只讀整數
- 15. nhibernate只讀頭數據
- 16. 只讀屬性或函數?
- 17. 只讀訪問數據源
- 18. 使textarea只讀
- 19. 只讀集合
- 20. 使只讀
- 21. backcolor只讀richtextbox
- 22. 從只讀
- 23. 只讀JFormattedTextField
- 24. InternetReadFile只讀10kb
- 25. 只讀關聯
- 26. 使JQxGrid只讀
- 27. CKEditor只讀
- 28. CurrentCulture.DateTimeFormat.LongTimePattern只讀
- 29. 只讀插座?
- 30. Lucene.NET只讀IndexSearcher
你試過了什麼? – neworld
請提供您已經嘗試並且遇到困難的代碼。你得到的輸出是什麼,你在找什麼? –