将DevExpress DataGrid绑定到自定义数据源

时间:2013-01-30 18:26:11

标签: c# .net c#-4.0 datagrid devexpress

我正在为我正在研究的项目(.NET4.0,WinForms)寻找一个好的DataGrid实现。我找到了DevExpress网格,这是我需要的东西,我只是在绑定选项中有点迷失。我能够找到的所有示例都将网格绑定到标准数据源 - 比如数据库数据源或linq2sql ...不幸的是,我需要将它绑定到自定义REST API以从服务器应用程序收集数据(API具有指定的能力)查询数据的各种标准。我还需要异步加载数据块而不是整个数据集(几千个条目)。

到目前为止,我已经找到了一些DevExpress组件的异步加载方法,但是所有需要(据我所知)一些IQueryable接口实现来执行任务。

我的问题基本上是找出,如果有更明智的选择来实现这一点,而不是实现IQueryable接口集(我真的不想这样做)。

我有一些经验,请告诉我。我不期待工作源代码,只是指向文档/网站的指针,我可能错过了或确认,我需要实现接口或其他一些好的数据网格库以及我错过的所需功能。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以从文档中将grid.DataSource绑定到几乎任何列表:

实现 IList 接口的对象 - 此类数据源必须至少有一个“记录”。否则,绑定控件将无法创建任何行。绑定到此类数据源的控件不会被通知任何数据更改,因此必须手动更新。

实现 ITypedList 接口的对象 - 在这种情况下,没有必要为要创建的行创建任何“记录”。不支持数据更改通知。

实现 IBindingList 接口的对象(从IList派生) - 此数据源类型没有其他接口的缺点。接口声明ListChanged事件,当绑定数据发生更改时,控件使用该事件更新自身。