cs_tortuedu74
Messages postés99Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention27 mai 2009
-
19 mai 2009 à 17:12
cs_tortuedu74
Messages postés99Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention27 mai 2009
-
20 mai 2009 à 17:25
Bonjour a tous,
Voila mon souci, jusqu'à maintenant, pour trouver un nœud précis dans mon xml, je parcourais toute la table, mais je commence a avoir beaucoup de donner et je voudrais qu'au lieu de tout parcourir, je ne sélectionne que le noeud qui correspond à mes paramètres, j'ai tenté ça:
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 mai 2009 à 09:13
la syntaxe avec les [] est propre aux requetes XPath.
une fois le noeud retrouvé, faut jouer avec ce que propose ton objet nod.
je lance Visual Studio
je presse F2
je cherche 'XmlElement'
je parcoures ce qui m'est proposé... Attributes
je vois que XmlAttributeCollection me propose GetNamedItem
cs_tortuedu74
Messages postés99Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention27 mai 2009 20 mai 2009 à 08:42
OK, je te remercie beaucoup.
Et quand j'ai séléctionner mon noeud, je voudrais modifier un de ses attributs.
Est-ce que je peux faire quelque chose comme:
nod.attributes[tata = contact] ?
parce que ça ne marche pas....
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_tortuedu74
Messages postés99Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention27 mai 2009 20 mai 2009 à 11:20
ah oui d'accord,
J'ai tenté ça aussi et ça marche plutôt bien, qu'en pense-tu?
For index = 0 To GridView1.Rows.Count - 1
ICheckbox = CType(GridView1.Rows(index).Cells(0).Controls(1),System.Web.UI.WebControls.CheckBox)
If ICheckbox.Checked = True Then
nod = xmlDoc.SelectSingleNode("/EC_TABLE/TABLE[@TA_NUME='" & GridView1.Rows(index).Cells(3).Text & "']")
nod.ParentNode.RemoveChild(nod)
End If
Next
Et juste une dernière question.
Je voudrais qu'avant de supprimer, j'ai un message de confirmation, j'ai donc écris du coté du code vb:
Dim reponse As Integer
reponse = MsgBox("voulez-vous supprimer l'index n°" & contact & "? ", MsgBoxStyle.YesNo, MessageBoxDefaultButton.Button2)
Bien sur, une fois le code posé sur le serveur, ma messagebox ne fonctionne pas, voici le message d'erreur:
L'affichage d'une boîte de dialogue modale ou d'un formulaire lorsque
l'application ne s'exécute pas en mode UserInteractive n'est pas une opération
valide. Spécifiez le style ServiceNotification ou DefaultDesktopOnly pour
afficher une notification à partir d'une application de service.
Quelle solution je peux avoir pour mettre une boite de dialogue sans que ça pose problème?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 mai 2009 à 11:44
je lance visual studio
je presse F2
je cherche, par exemple: DefaultDesktopOnly
je trouve System.Windows.Forms.MessageBoxOptions
ca a donc un rapport direct avec les MessageBox
en fouinant encore un peu, je trouve:
Public Const DefaultDesktopOnly As System.Windows.Forms.MessageBoxOptions = 131072
Membre de : System.Windows.Forms.MessageBoxOptions
Résumé :
La zone de message est affichée sur Active Desktop.
a tester, donc:
If Messagebox.Show("Voulez-vous vraiment...","Suppression de ....", MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button2,MessageBoxOptions.DefaultDesktopOnly,False) = DialogResult.Yes Then
........
End If
cs_tortuedu74
Messages postés99Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention27 mai 2009 20 mai 2009 à 14:01
non, c'est pas winform.
Je te montre ma fonction:
Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
'MsgBox("supprimer : " & index)
Dim selectedRow As GridViewRow = GridView1.Rows(index)
Dim contactCell As TableCell = selectedRow.Cells(3)
Dim contact As String = contactCell.Text
If e.CommandName = "supprimer" Then
Response.Write("You selected " & contact & ".
")
xmlDoc.Load(fichier)
Dim nod As XmlElement
nod = xmlDoc.SelectSingleNode("/EC_TABLE/TABLE[@TA_NUME='" & contact & "']")
'recherche de l'élément
'MsgBox(nod.Attributes.ItemOf(0).Value)
Dim reponse As Integer
reponse = MessageBox.Show("voulez-vous supprimer l'index n°" & contact & "? ", " Confirmation ", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
If reponse = MsgBoxResult.Yes Then
nod.ParentNode.RemoveChild(nod)
End If
xmlDoc.Save(fichier)
Response.Redirect("http://Intranet2:8282/accueil.aspx")
End If
If e.CommandName = "modifier" Then
xmlDoc.Load(fichier)
Dim nod As XmlElement
nod = xmlDoc.SelectSingleNode("/EC_TABLE/TABLE[@TA_NUME='" & contact & "']")
'recherche de l'élément
'MsgBox(nod.Attributes.ItemOf(0).Value)
End If
End Sub
Et en effet, y'a rien qui s'affiche, même pas un message d'erreur....