2010-02-22 13 views
0

Je rencontre un problème avec du code C# d'InfoPath lorsque j'essaie de supprimer une pièce jointe d'un formulaire.Comment annuler par programmation une pièce jointe dans InfoPath Forms

Fondamentalement, le processus est:

  1. utilisateur ouvre le formulaire
  2. utilisateur clique sur le bouton
  3. pièce jointe de fichier est effacé

J'ai essayé d'ajouter une pièce jointe vide à mon schéma qui ne devient peuplé, puis définit la valeur du champ d'origine égale à cette valeur par la méthode ci-dessous. Lors du débogage du formulaire, j'attrape une erreur: La validation du schéma a détecté des erreurs de type non-données. Tous les conseils ici seraient appréciés.

public void BTN_ClearAttachment_Clicked(object sender, ClickedEventArgs e) 
{ 
    try 
    { 
     _OriginalAttachment.SetValue(_BLANK_ATTACHMENT.Value); 
    } 
    catch (Exception ex) 
    { 
     _ErrorField.SetValue(ex.Message + " : " + ex.StackTrace); 
    } 
} 

Merci,

Dr Z

Edition - post-scriptum Je devrais clarifier que les deux _OriginalAttachment & _ErrorField sont tous les deux XPathNavigators, pointant vers différents éléments de schéma. J'ai vérifié que ces XPathNavigators pointent tous les deux sur des éléments de schéma valides.

Répondre

0

Compris. La façon dont je l'ai fait était d'appeler ReplaceSelf (chaîne) et transmettre une version vide du nœud XML.

public void BTN_ClearAttachment_Clicked(object sender, ClickedEventArgs e) 
{ 
    try 
    { 
     _OriginalAttachment.ReplaceSelf("<my:OriginalAttachment></my:OriginalAttachment>"); 
    } 
    catch (Exception ex) 
    { 
     _ErrorField.SetValue(ex.Message + " : " + ex.StackTrace); 
    } 
} 

Ceci a soulagé toutes les erreurs que je rencontrais.