AUTOCOMPLETE EXTENDER VALUE IN TEXTBOX BASED ON DROPDOWNLIST VALUE
.aspx
<html
xmlns="http://www.w3.org/1999/xhtml">
<head
id="Head1"
runat="server">
<title></title>
<style>
.autocomplete_completionListElement
{
visibility: hidden;
margin: 0px
!important;
background-color:
inherit;
color: windowtext;
border: buttonshadow;
border-width: 1px;
border-style: solid;
cursor: 'default';
overflow: auto;
height: 200px;
text-align: left;
list-style-type: none;
font-family: courier
new;
font-size: 8pt;
}
/* AutoComplete highlighted item */.autocomplete_highlightedListItem
{
background-color:
#e3ec6e;
color: black;
padding: 1px;
}
/* AutoComplete item */.autocomplete_listItem
{
background-color:
window;
color: windowtext;
padding: 1px;
}
body, div,
p, h1,
h2, h3, h4,
ul, li,
table
{
margin: 0;
padding: 0;
border: none;
}
</style>
</head>
<script
type="text/javascript">
</script>
<body>
<form
id="form1" runat="server">
<cc1:autocompleteextender
id="AutoCompleteExtender1"
runat="server"
minimumprefixlength="1"
servicemethod="GetCountryInfo"
servicepath="WebService.asmx"
TargetControlID="TextBox1">
</cc1:autocompleteextender>
<asp:TextBox
ID="TextBox1"
runat="server" Width="381px"></asp:TextBox>
<asp:ScriptManager
ID="ScriptManager1"
runat="server">
</asp:ScriptManager>
<br
/>
<cc1:AutoCompleteExtender
ID="AutoCompleteExtender2"
runat="server"
CompletionListItemCssClass="autocomplete_listItem"
MinimumPrefixLength="1"
ServiceMethod="GetCountryOrStatesInfo"
UseContextKey="true"
ContextKey="salem"
ServicePath="WebService.asmx"
TargetControlID="TextBox2"
EnableCaching="true"
Enabled="true"
></cc1:AutoCompleteExtender>
<br
/>
<br
/>
<br
/>
<asp:TextBox
ID="TextBox2"
runat="server" Width="431px"></asp:TextBox>
<asp:DropDownList
ID="cmbList"
runat="server" AutoPostBack="True"
OnSelectedIndexChanged="cmbList_SelectedIndexChanged"
DataSourceID="SqlDataSource1"
DataTextField="city_name"
DataValueField="city_name">
</asp:DropDownList><asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:flywindzConnectionString
%>"
SelectCommand="SELECT DISTINCT [city_name] FROM [city_master]"></asp:SqlDataSource>
</form>
</body>
</html>
.cs file
protected
void Page_Load(object sender,
EventArgs e)
{
if (!IsPostBack)
{
AutoCompleteExtender2.ContextKey = "Salem";
}
}
protected void cmbList_SelectedIndexChanged(object sender,
EventArgs e)
{
AutoCompleteExtender2.ContextKey = cmbList.SelectedValue;
}
using System;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Sql;
using System.Data;
///
<summary>
/// Summary description for WebService
///
</summary>
[System.Web.Script.Services.ScriptService]
[WebService(Namespace =
"http://tempuri.org/")]
[WebServiceBinding(ConformsTo =
WsiProfiles.BasicProfile1_1)]
public
class WebService : System.Web.Services.WebService
{
SqlConnection conn =
new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
[WebMethod]
public string[] GetCountryInfo(string prefixText)
{
int count = 10;
string sql = "select * from client_master where client_name like @prefixText";
SqlDataAdapter da =
new SqlDataAdapter(sql, conn);
da.SelectCommand.Parameters.Add("@prefixText",
SqlDbType.VarChar, 50).Value = prefixText +
"%";
DataTable dt = new
DataTable();
da.Fill(dt);
string[] items =
new string[dt.Rows.Count];
int i = 0;
foreach (DataRow dr
in dt.Rows)
{
items.SetValue(dr["client_name"].ToString(), i);
i++;
}
return items;
}
[WebMethod]
public string[] GetCountryOrStatesInfo(string prefixText,
string contextKey)
{
int count = 10;
string sql=null;
sql = "select Client_name +','+ client_city as [client_name]
from client_master where client_name like @prefixText and client_city='" + contextKey +
"'";
SqlDataAdapter da =
new SqlDataAdapter(sql,conn);
da.SelectCommand.Parameters.Add("@prefixText",SqlDbType.VarChar, 50).Value = prefixText +
"%";
DataTable dt = new
DataTable();
da.Fill(dt);
string[] items =
new string[dt.Rows.Count];
int i = 0;
foreach (DataRow dr
in dt.Rows)
{
items.SetValue(dr[0].ToString(), i);
i++;
}
return items;
}
}