Pergunta

Num controlo Telerik, que foi capaz de se ligar a um DataTable directamente para o ItemSource, mas quando I transferido para o WPFToolkit Datagrid Codeplex:

<dg:DataGrid Name="theGrid"/>
---
theGrid.ItemsSource = dt;

Eu recebo este erro:

Cannot implicitly convert type 'System.Data.DataTable' to 'System.Collections.IEnumerable'.

Como posso vincular o DataTable para WPFToolkit theDataGrid?

Foi útil?

Solução

Você terá que projetar sua tabela de dados em algo que implementa IEnumerable como que é waht o DataGrid espera. A grade é uma implementação diferente para a versão Telerik então é difícil esperar que a mesma funcionalidade de ambos.

Outras dicas

Acho que a maneira mais fácil é:

myDataGrid.ItemsSource = myDataTable.DefaultView;

porque DefaultView implementa IEnumerable

apoio

Estou assumindo para este será adicionado no futuro, mas por agora você pode usar a implementação de IListSource em DataTable. Chame o método GetList() e usar isso como sua fonte de dados. É uma implementação de interface explícita para que você vai precisar elenco:

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

Em tais casos I ligam-se a ItemsSource DataContex em XAML i.e.

ItemsSource={Binding} 

e, em seguida, em codebehind eu faço

theGrid.DataContext = dt

Isso vai ajudar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top