Récupérer l'index d'un dataRow dans la lecture d'une DataTable
Salut tout le monde
Je suis un poil ennuyé parce que je sais que je l'ai déjà fait, mais je ne me souviens plus comment. Je sais que c'est une subtilité toute bête, mais trou de mémoire !!
Alors faisons simple : j'ai une DataTable que je lis avec un For Each
Au fur et à mesure de la lecture je sollicite une Function avec en paramettre l'Index de la DataRow actuelle.
La dataTable est délcarée en variable de Classe. L'idée est d'envoyer l'index actuel pour que la Function retrouve la ligne de donnée et travail avec, tout simplement.
Voici le squelette de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
Private dtProduit As DataTable
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
dtProduit = New DManager("DataDev").RetournerTable("EXEC dbo.BOUTIQUE_ListeProduit '" & mode & "'," & categ)
ChargeTbl()
Sub ChargeTbl()
Dim r As TableRow
For Each dr As DataRow In dtProduit.Rows
r = New TableRow
r.Cells.Add(RemplirCel(dtProduit.Rows.IndexOf(dtProduit.Rows.)))
Next
End Sub
End Sub |
La partie en bleu est la partie où je sèche. Et donc, c'est bien l'index de la DataRow que je cherche pour faire dans ma Function un truc du genre :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Function RemplirCel(ByVal nr As Integer) As TableCell
Dim lblNomProduit As New Label
With lblNomProduit
.Text = dtProduit.Rows(nr).Item("NomProduit")
End With
Dim c As New TableCell
c.Controls.Add(lblNomProduit)
Return c
End Function |
Et ne pas a avoir à passer par une recherche sur une DataKeys ou un autre identifiant propre aux données.
Merci d'avance.