From 6293784297acf47b8dc3eeefc42e68bd530e5780 Mon Sep 17 00:00:00 2001 From: Samuele Date: Tue, 11 Sep 2012 16:04:42 +0200 Subject: [PATCH] Modificato web method autocomplete x gestione num max risultati autocomplete da restituire (poi mostra + xxx ...) dove xxx sono le righe rimanenti non mostrate... --- ETS-WS/ETS-WS/WS/AutoCompletamento.asmx.cs | 98 ++++++++++++++++++---- ETS-WS/ETS-WS/Web.config | 1 + 2 files changed, 81 insertions(+), 18 deletions(-) diff --git a/ETS-WS/ETS-WS/WS/AutoCompletamento.asmx.cs b/ETS-WS/ETS-WS/WS/AutoCompletamento.asmx.cs index 7ae734a..552f268 100644 --- a/ETS-WS/ETS-WS/WS/AutoCompletamento.asmx.cs +++ b/ETS-WS/ETS-WS/WS/AutoCompletamento.asmx.cs @@ -20,6 +20,23 @@ namespace ETS_WS.WS [System.Web.Script.Services.ScriptService] public class AutoCompletamento : System.Web.Services.WebService { + /// + /// num di risultati massimo da mostrare + /// + protected int maxResults + { + get + { + int maxRes = 0; + try + { + maxRes = Convert.ToInt32(ConfigurationManager.AppSettings.Get("MaxRowToDisplay")); + } + catch + { } + return maxRes; + } + } #region ricerca dati COMPLETA (tutti) [System.Web.Services.WebMethod] @@ -32,11 +49,20 @@ namespace ETS_WS.WS { // elenco candidati DS_utils.v_selFontiDataTable tabella = utils.obj.taSelFonti.getByLikeSearch(prefixText); + // contatore risultati + int i = 0; // aggiungo ogni riga... foreach (DS_utils.v_selFontiRow riga in tabella) { //suggerimenti.Add(riga.label); suggerimenti.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(riga.label, riga.value)); + // controllo se ho meno risultati di quanti richiesti x filtraggio + if (i == maxResults) + { + suggerimenti.Add(string.Format("+{0}...", tabella.Rows.Count - maxResults)); + break; + } + i++; } } return suggerimenti.ToArray(); @@ -51,11 +77,20 @@ namespace ETS_WS.WS { // elenco candidati DS_utils.v_selCommesseDataTable tabella = utils.obj.taSelCommesse.getByLikeSearch(prefixText); + // contatore risultati + int i = 0; // aggiungo ogni riga... foreach (DS_utils.v_selCommesseRow riga in tabella) { //suggerimenti.Add(riga.label); suggerimenti.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(riga.label, riga.value.ToString())); + // controllo se ho meno risultati di quanti richiesti x filtraggio + if (i == maxResults) + { + suggerimenti.Add(string.Format("+{0}...", tabella.Rows.Count - maxResults)); + break; + } + i++; } } return suggerimenti.ToArray(); @@ -70,11 +105,20 @@ namespace ETS_WS.WS { // elenco candidati DS_utils.v_selFasiDataTable tabella = utils.obj.taSelFasi.getByLikeSearch(prefixText); + // contatore risultati + int i = 0; // aggiungo ogni riga... foreach (DS_utils.v_selFasiRow riga in tabella) { //suggerimenti.Add(riga.label); suggerimenti.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(riga.label, riga.value.ToString())); + // controllo se ho meno risultati di quanti richiesti x filtraggio + if (i == maxResults) + { + suggerimenti.Add(string.Format("+{0}...", tabella.Rows.Count - maxResults)); + break; + } + i++; } } return suggerimenti.ToArray(); @@ -94,11 +138,20 @@ namespace ETS_WS.WS { // elenco candidati DS_utils.v_tbDocs_selFontiDataTable tabella = utils.obj.taTDSelFonti.getByLikeSearch(prefixText); + // contatore risultati + int i = 0; // aggiungo ogni riga... foreach (DS_utils.v_tbDocs_selFontiRow riga in tabella) { //suggerimenti.Add(riga.label); suggerimenti.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(riga.label, riga.value)); + // controllo se ho meno risultati di quanti richiesti x filtraggio + if (i == maxResults) + { + suggerimenti.Add(string.Format("+{0}...", tabella.Rows.Count - maxResults)); + break; + } + i++; } } return suggerimenti.ToArray(); @@ -113,11 +166,20 @@ namespace ETS_WS.WS { // elenco candidati DS_utils.v_tbDocs_selCommesseDataTable tabella = utils.obj.taTDSelCommesse.getByLikeSearch(prefixText); + // contatore risultati + int i = 0; // aggiungo ogni riga... foreach (DS_utils.v_tbDocs_selCommesseRow riga in tabella) { //suggerimenti.Add(riga.label); suggerimenti.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(riga.label, riga.value.ToString())); + // controllo se ho meno risultati di quanti richiesti x filtraggio + if (i == maxResults) + { + suggerimenti.Add(string.Format("+{0}...", tabella.Rows.Count - maxResults)); + break; + } + i++; } } return suggerimenti.ToArray(); @@ -132,11 +194,20 @@ namespace ETS_WS.WS { // elenco candidati DS_utils.v_tbDocs_selFasiDataTable tabella = utils.obj.taTDSelFasi.getByLikeSearch(prefixText); + // contatore risultati + int i = 0; // aggiungo ogni riga... foreach (DS_utils.v_tbDocs_selFasiRow riga in tabella) { //suggerimenti.Add(riga.label); suggerimenti.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(riga.label, riga.value.ToString())); + // controllo se ho meno risultati di quanti richiesti x filtraggio + if (i == maxResults) + { + suggerimenti.Add(string.Format("+{0}...", tabella.Rows.Count - maxResults)); + break; + } + i++; } } return suggerimenti.ToArray(); @@ -151,34 +222,25 @@ namespace ETS_WS.WS { // elenco candidati DS_utils.v_tbDocs_selOggettoDataTable tabella = utils.obj.taTDSelOggetti.getByLikeSearch(prefixText); + // contatore risultati + int i = 0; // aggiungo ogni riga... foreach (DS_utils.v_tbDocs_selOggettoRow riga in tabella) { //suggerimenti.Add(riga.label); suggerimenti.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(riga.label, riga.value.ToString())); + // controllo se ho meno risultati di quanti richiesti x filtraggio + if (i == maxResults) + { + suggerimenti.Add(string.Format("+{0}...", tabella.Rows.Count - maxResults)); + break; + } + i++; } } return suggerimenti.ToArray(); } #endregion - - [System.Web.Services.WebMethod] - [System.Web.Script.Services.ScriptMethod] - public string[] GetCompletionList(string prefixText, int count) - { - // your code for retrieve the entities filtered by prefixText - // this example returns the complete list, discarding the prefixText filter - - return new[] - { - AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Luca", "1"), - AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Luciano", "2"), - AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Lucio", "3"), - AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Alessandro", "4"), - AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Alessio", "5") - }; - } - } } diff --git a/ETS-WS/ETS-WS/Web.config b/ETS-WS/ETS-WS/Web.config index 02637e7..a3c1211 100644 --- a/ETS-WS/ETS-WS/Web.config +++ b/ETS-WS/ETS-WS/Web.config @@ -36,6 +36,7 @@ +