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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Et ne pas a avoir à passer par une recherche sur une DataKeys ou un autre identifiant propre aux données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci d'avance.
Partager