Passage de paramètres lors de l'utilisation de l'autocompletion sur un champ
Pour faire fonctionner l'autocomplétion sur un champ de formulaire :
Dans les propriétés du champ on définit : AutoCompletePath : "adresse du web service"; AutoCompleteServiceMethod: "Methode du web service a appeler"; (cette méthode doit renvoyer un tableau de string) AutoCompleteServiceMethodFilter: "Nom du champ dans lequel la saisie se fera (filtre)"
Si on veut pouvoir envoyer des paramètres à la méthode on doit procéder de la façon suivante : Dans les propriétés du champ on définit, AutoCompletePath : "adresse du web service"; AutoCompleteServiceMethod: "Methode du web service a appeler"; AutoCompleteServiceMethodFilter: "Nom du champ dans lequel la saisie se fera (filtre)" AutoCompleteContextKey : "la valeur à envoyer à la méthode"; cette méthode doit retourner un tableau de string et doit avoir les paramètres suivants :
(string prefixText, int count, string contextKey)
Remarque : les noms des paramètres doivent exactement être les mêmes.
exemple :
[WebMethod]
public string[] SayHello(string prefixText, int count, string contextKey)
{
return "Hello World".Split(' ');
}
prefixText : ramenera le texte saisi dans le textbox; count : correspond à la valeur qu'on a définit dans AutoCompleteCompletionSetCount (nombre de caractères à saisir pour lancer la recherche) contextKey : ramènera les paramètres qu'on a définit dans AutoCompleteContextKey (on peut imaginer un scénario où cette valeur sera définie par java script)
Pour que cela marche sur les pré filtres il faudra intégrer la syntaxe (dans l'onglet code , section pré filtre, du paramétrage de la vue dans PStudio Designer) :
<Text field="AL.action_who" label="action_who :" ServiceMethod="SayHello" ServicePath="http://vendome/releasedev2011_qmdoc/ws/dataaccess.asmx" ContextKey="toto" />