Steps are as follows:
- Add scriptmanger.
- Add AutocompleteExtender.
<asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
TargetControlID="TextBox1" ServiceMethod="GetCompletionList"
UseContextKey="True" MinimumPrefixLength="1">
asp:AutoCompleteExtender>
this will have TargetControlID as id of textbox.
MinimumPrefixlength is length of the text in textbox after which autoCompleteExtender
start showing suggestions.
3. Add one textbox.
<asp:TextBox ID="TextBox1" runat="server">asp:TextBox>
4. Now go to design mode & Click on Add AutoComplete Page Method.
5. After this you will see that some code is added to ur code behind file ,
just replace it with this code
(here i have bounded the colum from database for which i want suggestions ,
you should change this with your database teble & column)
(Here i have used Name Column of CountryRegion of Adventureworks Database )
[System.Web.Services.WebMethodAttribute(),
System.Web.Script.Services.ScriptMethodAttribute()]
public static string[] GetCompletionList
(string prefixText, int count, string contextKey)
{
SqlConnection conn;
SqlCommand cmd;
string cmdString =
"Select Name from Person.CountryRegion WHERE Name LIKE '" +
prefixText + "%'";
conn = new
SqlConnection(@"Data Source=VRAKSH-VAIBHAVS;Initial Catalog=AdventureWorks;
User ID=sa;Password=data#123");
// Put this string on one line in your code
cmd = new SqlCommand(cmdString, conn);
conn.Open();
SqlDataReader myReader;
List<string> returnData = new List<string>();
myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (myReader.Read())
{
returnData.Add(myReader["Name"].ToString());
}
return returnData.ToArray();
}
Just save & run ....
type just one character in your textbox & wait for 2-3 seconds.....
u will find suggestion box is shown under it.
Here is Full code.....
Source code......
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
asp:ScriptManager>
<asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
TargetControlID="TextBox1" ServiceMethod="GetCompletionList"
UseContextKey="True" MinimumPrefixLength="1">
asp:AutoCompleteExtender>
<asp:TextBox ID="TextBox1" runat="server">asp:TextBox>
div>
code behind....
protected void Page_Load(object sender, EventArgs e)
{
}
[System.Web.Services.WebMethodAttribute(),
System.Web.Script.Services.ScriptMethodAttribute()]
public static string[] GetCompletionList
(string prefixText, int count, string contextKey)
{
SqlConnection conn;
SqlCommand cmd;
string cmdString =
"Select Name from Person.CountryRegion WHERE Name LIKE '" +
prefixText + "%'";
conn = new
SqlConnection(@"Data Source=VRAKSH-VAIBHAVS;Initial Catalog=AdventureWorks;
User ID=sa;Password=data#123");
// Put this string on one line in your code
cmd = new SqlCommand(cmdString, conn);
conn.Open();
SqlDataReader myReader;
List<string> returnData = new List<string>();
myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (myReader.Read())
{
returnData.Add(myReader["Name"].ToString());
}
return returnData.ToArray();
}
0 comments:
Post a Comment