Usuário com melhor resposta
Como implementar o auto-complete no textbox?

Pergunta
-
Respostas
-
Consegui resolver assim:
Na página:
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> ... <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" EnableScriptGlobalization="true" runat="server"></asp:ScriptManager> ... <asp:TextBox ID="txtFavorecido" class="form-control" runat="server"></asp:TextBox> <ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" ServicePath="BuscaFavorecido.asmx" ServiceMethod="FindName" MinimumPrefixLength="1" TargetControlID="txtFavorecido" CompletionInterval="10" EnableCaching="true" CompletionSetCount="15" CompletionListCssClass="completionList" CompletionListItemCssClass="listItem" CompletionListHighlightedItemCssClass="itemHighlighted" runat="server"></ajaxToolkit:AutoCompleteExtender>
O webservice BuscaFavorecido.asmx:
using BusinessObjects; using DataObjects; using System; using System.Collections.Generic; using System.Web.Services; namespace WebApplication.admin { /// <summary> /// Summary description for BuscaFavorecido /// </summary> [WebService(Namespace = "http:/localhost/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService] public class BuscaFavorecido : System.Web.Services.WebService { [WebMethod] public string[] FindName(string prefixText, int count) { CadastroDAO oCadastroDAO = new CadastroDAO(); List<CadastroBO> oListaCadastro = new List<CadastroBO>(); //return all records whose Title starts with the prefix input string List<string> titleArList = new List<string>(); oListaCadastro = oCadastroDAO.buscarNomeCadastro(prefixText); for (int i = 0; i < oListaCadastro.Count; i++) { string strTemp = Convert.ToString(oListaCadastro[i].Nome); titleArList.Add(strTemp); } return titleArList.ToArray(); } } }
Fica a dica!
PS: Não funcionou no firefox! Funcionou no Chrome, IE e Opera.
- Marcado como Resposta wcsantos quarta-feira, 24 de fevereiro de 2016 15:27
Todas as Respostas
-
Boa noite,
Verifique o link abaixo, no qual eu explico como utilizar a funcionalidade de AutoComplete em TextBox.
http://smcode.com.br/autoComplete.aspx
Abs.
Bruno Destro
Dicas de programação em .net, C# e SQL - http://smcode.com.br/
-
private void Form1_Load(object sender, EventArgs e) { // Create the list to use as the custom source. var source = new AutoCompleteStringCollection(); source.AddRange(new string[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }); // Create and initialize the text box. var textBox = new TextBox { AutoCompleteCustomSource = source, AutoCompleteMode = AutoCompleteMode.SuggestAppend, AutoCompleteSource = AutoCompleteSource.CustomSource, Location = new Point(20, 20), Width = ClientRectangle.Width - 40, Visible = true }; // Add the text box to the form. Controls.Add(textBox); }
Fonte:
TextBox.AutoCompleteCustomSource Propriedade
Antero Marques
-
-
Boa noite,
Verifique o link abaixo, no qual eu explico como utilizar a funcionalidade de AutoComplete em TextBox.
http://smcode.com.br/autoComplete.aspx
Abs.
Bruno Destro
Dicas de programação em .net, C# e SQL - http://smcode.com.br/
Desculpe, mas não está legal e nem funcional... no seu exemplo tem a palavra "Ajax" e digitando "Aj" seu código não acha.
Mas obrigado!
-
-
Já que é Asp.Net, consulte este link:
O bom e velho Macoratti.
ASP .NET - Recurso auto-completar com jQuery
Antero Marques
-
Não está funcional ou você não entendeu como faz a implementação do código? Poste a forma que você está tentando fazer que podemos ajudar.
Você chegou a testar a funcionalidade no TextBox da página? Pelo o que eu entendi é isso que você quer. É isso mesmo?
Bruno Destro
Dicas de programação em .net, C# e SQL - http://smcode.com.br/
-
Consegui resolver assim:
Na página:
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> ... <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" EnableScriptGlobalization="true" runat="server"></asp:ScriptManager> ... <asp:TextBox ID="txtFavorecido" class="form-control" runat="server"></asp:TextBox> <ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" ServicePath="BuscaFavorecido.asmx" ServiceMethod="FindName" MinimumPrefixLength="1" TargetControlID="txtFavorecido" CompletionInterval="10" EnableCaching="true" CompletionSetCount="15" CompletionListCssClass="completionList" CompletionListItemCssClass="listItem" CompletionListHighlightedItemCssClass="itemHighlighted" runat="server"></ajaxToolkit:AutoCompleteExtender>
O webservice BuscaFavorecido.asmx:
using BusinessObjects; using DataObjects; using System; using System.Collections.Generic; using System.Web.Services; namespace WebApplication.admin { /// <summary> /// Summary description for BuscaFavorecido /// </summary> [WebService(Namespace = "http:/localhost/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService] public class BuscaFavorecido : System.Web.Services.WebService { [WebMethod] public string[] FindName(string prefixText, int count) { CadastroDAO oCadastroDAO = new CadastroDAO(); List<CadastroBO> oListaCadastro = new List<CadastroBO>(); //return all records whose Title starts with the prefix input string List<string> titleArList = new List<string>(); oListaCadastro = oCadastroDAO.buscarNomeCadastro(prefixText); for (int i = 0; i < oListaCadastro.Count; i++) { string strTemp = Convert.ToString(oListaCadastro[i].Nome); titleArList.Add(strTemp); } return titleArList.ToArray(); } } }
Fica a dica!
PS: Não funcionou no firefox! Funcionou no Chrome, IE e Opera.
- Marcado como Resposta wcsantos quarta-feira, 24 de fevereiro de 2016 15:27
-