2017-02-28 2 views
0

Je souhaite connaître le nombre de lignes enfants pour un parent sélectionné dans un radgridview prenant en charge la sélection étendue. Ce code me obtient le nombre de lignes de parent sélectionné:Nombre de lignes enfant pour la ligne parente sélectionnée dans RadGridView

Dim nbrParentSelected As Integer = myGrid.SelectedItems.Count 

Ce code me obtient le nombre de lignes d'enfant pour un parent sélectionné, mais uniquement dans la fenêtre immédiate. Si je mets ceci dans le code, j'obtiens une erreur de liaison tardive non autorisée.

myGrid.SelectedItems(0).thePropertyCollection.Count 

Comment obtenir ce compte en utilisant le code? Merci.

Répondre

0

Vous pouvez essayer ceci:

Dim nbrParentSelected As Integer = myGrid.RowCount - 2 MsgBox(nbrParentSelected)

En effet, les lignes comptent en DataGridView début de zéro et depuis que vous avez activé le mode d'édition afin que votre dernier décompte de ligne doit être - 1 du nombre total de lignes Si vous voulez compter de 1 et plus -1 car il y a une ligne supplémentaire dont vous n'avez pas besoin de compter ...

Je suppose que c'est ce dont vous aviez besoin. Ou au moins vous aurez une idée.

+0

Oh! Maintenant, je vous ai vu poser des questions sur radgridview désolé. Je ne sais pas à ce sujet donc vous pouvez ignorer la réponse ... –

0

Ce code me donne ce dont j'ai besoin.

 Dim selectedRow = DirectCast(myGrid.ItemContainerGenerator.ContainerFromItem(myGrid.SelectedItem), GridViewRow) 
    Dim childCount = selectedRow.ChildrenOfType(Of GridViewRow)().Count 

Trouvé dans le codage échantillon here.

Edité pour ajouter: Je peux obtenir le nombre d'enfants en utilisant la collection enfant.

chosenParent = TryCast(myGrid.SelectedItems(i), parentCollection) 

    countOfChildren = chosenParent.childrenCollection.Count 

Et je peux le faire sans augmenter la ligne mère en premier.