2009-02-02 4 views

Répondre

3

Vous devrez projeter votre datatable dans quelque chose qui implémente IEnumerable car c'est ce que attend le DataGrid. La grille est une implémentation différente de la version Telerik, il est donc difficile de s'attendre à la même fonctionnalité des deux.

+0

Cela a fonctionné, en fait je passais d'une liste à la Datatable pour le contrôle Telerik donc c'est encore plus facile, je viens d'utiliser l'objet original Liste maintenant, merci. –

4

Je suppose que ce support sera ajouté dans le futur, mais pour l'instant vous pouvez utiliser l'implémentation de IListSource sur DataTable. Appelez la méthode GetList() et utilisez-la comme source de données. Il est une implémentation d'interface explicite vous aurez donc besoin de jeter:

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

J'ai trouvé ceci: http://msdn.microsoft.com/en-us/library/aa325664(VS.71).aspx mais comment puis-je utiliser l'implémentation de IListSource sur DataTable pour appeler la méthode GetList()? –

+0

Mis à jour mon message. –

32

je trouve le plus simple est:

myDataGrid.ItemsSource = myDataTable.DefaultView; 

parce que DefaultView implémente IEnumerable

+1

+1, la liaison à un DataView est simple et fonctionne très bien, surtout si vous voulez être capable de naviguer dans les relations. – Oskar

0

Dans ce cas, je ItemsSource lier à DataContex en XAML c'est-à-dire

ItemsSource={Binding} 

puis dans codebehind je fais

theGrid.DataContext = dt 

Cela aidera.

Questions connexes