J'ai une requête LINQ comme ce qui suit:Quelle interface implémentation pour utiliser un tableau de (MyType) en tant que DataSource?
allRecords = (From metaset In section.sets
From metacell In metaset.cells
Let attrib = metacell.attrib
Order By attrib.attrib_name
Select Attribute = attrib.attrib_name,
Type = attrib.attrib_name,
Col = metacell.column,
Row = metacell.row
).ToArray()
Il retourne un tableau <anonymous type>
.
Et quand j'écris myDataGridView.DataSource = allRecords
, la grille se remplit correctement.
Mais, si je modifie la requête pour retourner un tableau de CellDetail
objets, au lieu de <anonymous type>
:
allRecords = (From metaset In section.sets
From metacell In metaset.cells
Let attrib = metacell.attrib
Order By attrib.attrib_name
Select New CellDetail With {
.Attribute = attrib.attrib_name,
.Type = attrib.attrib_name,
.Col = metacell.column,
.Row = metacell.row
).ToArray()
où CellDetail
est défini ainsi:
Public Class CellDetail
Public Attribute As String
Public Type As String
Public Col As Int32
Public Row As Int32
End Class
DataGridView n » t trouver des données compatibles et ne montre rien!
Y at-il une interface .Net je mettre en œuvre pour rendre CellDetail
classe compatible avec le DataSource d'un DataGridView?
Lire les commentaires pour la propriété DataSource http://msdn.microsoft.com/en-us/library/system.windows.forms. datagridview.datasource.aspx – RobH
@Munchies qui ne s'appliquent pas réellement à cette question; les deux sources sont des tableaux et les tableaux implémentent 'IList'. Ce n'est pas la raison pour laquelle cela fonctionne pour l'un et pas pour l'autre. –
@MarcGravell Yup, je n'ai pas lu la question correctement. – RobH