Bonjour à tous,
je souhaiterai passer en paramètre un tableau(,) du module principale vers un sub d'une classe et ensuite le récupérer, modifié (rempli) dans le module principale.
La même chose, faire un appel à un sub de classe à partir de mon module principale, passer comme parametre le tableau et me servir de ce dernier afin de remplir un datagridview via le sub de cette classe.
Ci-dessous un extrait de la classe :
ici, le sub xml_parsing va parser le fichier xml et remplir le tableau xml_array(,).
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Imports System.Xml Public Class cls_tools Public Sub xml_Parsing(ByVal xml_FileName As String, ByVal xml_xpath As String, ByRef xml_array(,) As String) ' création de l'objet XmlDocument et load du fichier xml Dim myxdoc As XmlDocument = New XmlDocument myxdoc.Load(xml_FileName) '(Application.StartupPath & "Newsite.XML") ' se placer sur la balise (tag) parent a lire (root) Dim xml_MainRoot As XmlNodeList xml_MainRoot = myxdoc.SelectNodes(xml_xpath) 'Définition des variables Nodes Dim xml_BlocNode, xml_EnfantNode As XmlNode Dim mycol, myrow As Short myrow = 0 For Each xml_BlocNode In xml_MainRoot mycol = 0 For Each xml_EnfantNode In xml_BlocNode.ChildNodes xml_array(myrow, mycol) = xml_EnfantNode.InnerText mycol += 1 Next myrow += 1 Next myxdoc = Nothing End Sub Public Sub fill_dgv(ByRef mydgv As DataGridView, ByVal xml_array(,) As String) For row = 0 To xml_array.GetUpperBound(0) mydgv.Rows.Add() For col = 0 To xml_array.GetUpperBound(1) mydgv.Item(col, row).Value = xml_array(row, col) Next Next End Sub End Class
le sub fill_dgv permet de remplir un datagridview avec le tableau précédement rempli avec le contenu du xml.
ci-dessous une part du code appelant :
J'ai donc bien déclaré ma classe. ça, ça va.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Public Sub Test_Class_Click(sender As System.Object, e As System.EventArgs) Handles Test_classe.Click Dim xml_array(0, 0) As Array tools.xml_Parsing(xml_FileName, xml_xpath, xml_array(0, 0)) End Sub
En revanche je ne vois pas comment je peux déclarer et transférer mon tableau vers la classe...
Une idées ???
Est-ce dim mytab(,) as array ou string ?
Est-ce ...ByVal xml_xpath As String, ByRef xml_array(,) As String ou array) ?
Merci
Patrick
Partager