Modificato web method autocomplete x gestione num max risultati autocomplete da restituire (poi mostra + xxx ...) dove xxx sono le righe rimanenti non mostrate...

This commit is contained in:
Samuele
2012-09-11 16:04:42 +02:00
parent 422647e21b
commit 6293784297
2 changed files with 81 additions and 18 deletions
+80 -18
View File
@@ -20,6 +20,23 @@ namespace ETS_WS.WS
[System.Web.Script.Services.ScriptService]
public class AutoCompletamento : System.Web.Services.WebService
{
/// <summary>
/// num di risultati massimo da mostrare
/// </summary>
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")
};
}
}
}
+1
View File
@@ -36,6 +36,7 @@
<add key="intUpdatePagina_ms" value="120000" />
<!--config x WebServices autocompletamento-->
<add key="MinCharAutocomplete" value="2" />
<add key="MaxRowToDisplay" value="30" />
<!--area conf dataset classi esterne-->
<add key="ETS_WSConnectionString" value="Data Source=10.74.82.217\SQL2008R2;Initial Catalog=ETS_WS;Persist Security Info=True;User ID=sa;Password=keyhammer" />
<add key="ETS_AnagraficaConnectionString" value="Data Source=10.74.82.217\SQL2008R2;Initial Catalog=ETS_Anagrafica;Persist Security Info=True;User ID=sa;Password=keyhammer" />