J'aide actuellement un client à créer un formulaire avec InfoPath et Im ayant quelques problèmes pour faire fonctionner mes listes comme je veux.InfoPath ajoutant une nouvelle ligne par programmation à la fin de la liste
Chaque fois que j'ajoute un nouvel élément à une liste (Section extensible), il finit en haut de la liste dans la vue, et je veux qu'il soit ajouté en bas. Mon client souhaite qu'un bouton personnalisé déclenche l'ajout de l'élément et n'utilise pas le texte "add element" fourni par InfoPath.
Voici un exemple pour mieux expliquer mon problème:
Lorsqu'un utilisateur écrit dans un quelque chose dans le champ de saisie, je veux qu'il soit ajouté à la liste dans la section répétition. Voici un exemple de code:
private XPathNavigator GetField(string xPath)
{
return MainDataSource.CreateNavigator()
.SelectSingleNode(xPath, NamespaceManager);
}
public void CTRL10_5_Clicked(object sender, ClickedEventArgs e)
{
string xPathToList = "/my:myFields/my:group5/my:group6/my:group7";
string xPathToInput = "/my:myFields/my:group5/my:field2";
string xPathToListElement = xPathToList + "/my:field3";
//Creates a new row
XPathNavigator list = GetField(xPathToList);
XPathNavigator newRow = list.Clone();
newRow.InsertAfter(list);
//Sets values on the new row
XPathNavigator input = GetField(xPathToInput);
XPathNavigator nameField = GetField(xPathToListElement);
nameField.SetValue(input.Value);
input.SetValue("");
}
Lorsque j'ajoute un nouvel élément à la liste, il est ajouté en haut de la liste, pas le fond ..
Toutes les suggestions?
Merci pour votre réponse. Avec InfoPath 2010, je n'ai pas eu ExecuteAction sous CurrentView –