Friday, 26 October 2012

AutoComplete Extender with Web Service

Use below link, and DOWNLOADS: Code (C#)

http://www.asp.net/web-forms/videos/ajax-control-toolkit/how-do-i-use-the-aspnet-ajax-autocomplete-control

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Step 1: Make a Web service:named as AutoComplete.asmx

public string[] GetCompletionList(string prefixText, int count)
    {
      
        SqlConnection con = new SqlConnection("Connection String from web config");
        SqlDataAdapter dad = new SqlDataAdapter("SELECT column1 from table where column2 like '" + prefixText + "%'", con);

     
        DataSet ds = new DataSet();
        dad.Fill(ds);
        List<string> list = new List<string>(ds.Tables[0].Rows.Count);
        //string[] list = new string[ds.Tables[0].Rows.Count];

        foreach (DataRow dr in ds.Tables[0].Rows)
        {
            list.Add(dr[0].ToString());
            //list.SetValue(dr[0].ToString(), i);

        }
        return list.ToArray();
    }

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Step2: Add reference to your default page:

<asp:ScriptManager ID="ScriptManager1" runat="server">
        <Services>
        <asp:ServiceReference Path="AutoComplete.asmx" />
        </Services>
        </asp:ScriptManager>

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Step 3: Add Ajax tol kit ( AjaxControlToolkit.dll ) to bin folder and register it
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Step 4: Add AutoCompleteExtender

<div>           
            <asp:TextBox runat="server" ID="myTextBox" Width="300" autocomplete="off" />
            <ajaxToolkit:AutoCompleteExtender
                runat="server"
                ID="autoComplete1"
                TargetControlID="myTextBox"
                ServicePath="AutoComplete.asmx"
                ServiceMethod="GetCompletionList"
                MinimumPrefixLength="2"
                CompletionInterval="1000"
                EnableCaching="true"
                CompletionSetCount="12" />
    </div>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

No comments:

Post a Comment