它使集合是可绑定的吗? List
,DataTable
是否有可以绑定到相同控件的通用接口?通用可绑定接口
Q
通用可绑定接口
3
A
回答
6
为了解释List<T>
和DataTable
工作(问题的脚注)如何,请阅读以下但指出的是:
List<T>
实现IList
和具有被用于解析元数据的public T this[int index] {get;}
DataTable
implementsIListSource
,它提供了表的默认值DataView
;所述DataView
实现IList
,并实现ITypedList
提供元数据
类别结合按以下顺序:
- 源极被用于测试
IListSource
;如果有的话IList
是通过GetList()
获得 - 否则源测试
IList
;如果不可用,则抛出异常
然后为IList
元数据被查询:
- 的
IList
为ITypedList
测试;如果找到,Foo
被暗示作为经由TypeDescriptor.GetProperties(Type)
- 其他的第一项(获得的类型和元数据 - 如果可用的话,这是通过
GetProperties
- 的
IList
为公共类型化(非对象物)索引测试,即public Foo this[int index] { get; }
使用如果非空)经由GetType()
中查询的类型,并通过TypeDescriptor.GetProperties(Type)
我们现在可以访问的项目(IList
)和它们的元数据获得的元数据;通过IBindingList
(提供双向绑定和基本分类等),IBindingListView
(提供高级分类,过滤等),ICancelAddNew
和IRaiseItemChangedEvents
提供额外支持(可选)。
对于大多数常见情况(显示数据和推回变化)List<T>
是好的;如果你需要显示不相关的更新,因为它们发生BindingList<T>
帮助 - 但请注意,以支持成员级更新(而不是仅仅添加/删除/等)的T
必须实现INotifyPropertyChanged
作为参考,“元数据”在这里指的是“一套PropertyDescriptor
”(每列/财产1),它提供对底层数据的访问(当提供object
时)以及有关成员本身(名称,类型等)的信息。
0
大多数控件可以绑定到IList接口。
http://msdn.microsoft.com/en-us/library/system.collections.ilist.aspx
0
相关问题
- 1. Ninject绑定通用接口
- 2. Ninject绑定,接口界面
- 3. 特定的通用接口
- 4. 通过.NET中的某种接口使属性可用于数据绑定?
- 5. 使用NInject绑定一个通用接口,使用默认的,如果为通用类型绑定未设置
- 6. 绑定到通用UI元素/ XAML接口
- 7. 如何使用GIN为通用接口创建通用接口的默认绑定?
- 8. 与NSSearchField的Laggy接口通过绑定连接到一个NSArrayController
- 9. 如何使用android数据绑定来绑定一个接口?
- 10. 将NSURLConnection绑定到特定接口
- 11. 通用接口
- 12. 是否可以使用Ninject约定绑定已存在的接口使用显式绑定?
- 13. 通过可可绑定连接字典与字典
- 14. 将通过ToMethod绑定接口的方法与参数
- 15. 绑定到接口并显示基接口中的属性
- 16. 将通用接口绑定到存储库时使用Ninject获取“MissingMethodException:无法创建接口实例”
- 17. 我们可以通过广播接收器绑定绑定服务吗?
- 18. 绑定在MVC3 EF带班接口
- 19. 在窗口上直接绑定AttachedProperty
- 20. 绑定到一个类多个接口
- 21. WPF无法绑定到接口?
- 22. 接口和生成的绑定文件
- 23. 绑定到Apache的网络接口httpclient
- 24. 绑定到接口类型的属性
- 25. 多播绑定接口问题
- 26. VB.NET接口/延迟绑定排序
- 27. MVC模型绑定到接口
- 28. 绑定类型暗示接口实现
- 29. SignalR连接的绑定本地端口
- 30. 指定为通用接口和类对
不直接回答这个问题,因为'DataTable'没有实现'IList' – 2011-04-09 12:40:44
@Marc - 感谢,是它更好地使用IListSource作为,而不是一个IList该采取控制一个数据源? – WraithNath 2011-04-09 12:43:09
都不;最好使用'object'和* test *是否它是'IListSource'(否则使用它),否则*测试*它是否是'IList' - 或者只是将该逻辑交给使用' BindingSource' – 2011-04-09 12:46:13