2009-02-02 76 views

回答

3

你必须将你的数据表映射到实现IEnumerable的东西,因为这是DataGrid所期望的。网格是Telerik版本的一个不同的实现,所以很难期望它们具有相同的功能。

+0

这工作,事实上,我从列表转换为Telerik控件的数据表,所以这更容易,我只是使用原来的列表对象,谢谢。 – 2009-02-02 11:12:31

4

我假设未来会添加对此的支持,但现在您可以使用上的IListSource的实现。调用GetList()方法并将其用作数据源。这是一个显式接口实现,所以你需要转换:

var data = (myDataTable as IListSource).GetList(); 
+0

我发现这个:http://msdn.microsoft.com/en-us/library/aa325664(VS.71).aspx但我怎么在DataTable上使用IListSource的实现来调用GetList()方法? – 2009-02-02 10:43:17

+0

更新了我的帖子。 – 2009-02-02 11:01:57

32

我觉得最简单的方法是:

myDataGrid.ItemsSource = myDataTable.DefaultView; 

,因为默认视图实现IEnumerable

0

在这种情况下,我绑定的ItemsSource到DataContex在XAML即

ItemsSource={Binding} 

然后在codebehind我做

theGrid.DataContext = dt 

这会有所帮助。

相关问题