I have tried to add autocomplete extender from code behind in grid view row data bound event but it is giving me error of "TargetControlId" of autocomplete extender is not found or duplicate control for autocomplete extender.
I add code of .aspx and .cs file in below lines.
In .Aspx file
<asp:GridView ID="grd1" runat="server" Width="100%" AutoGenerateColumns="False"
OnRowDataBound="grd1_OnRowDataBound" OnSorting="grdDocket_OnSorting"
GridLines="None" OnDataBound="grd1_OnDataBound" ShowHeader="true" AllowSorting="true"
AllowPaging="false" PageSize="20" OnPageIndexChanging="grd1_OnPageIndexChanging"
PagerStyle-HorizontalAlign="Center">
<Columns>
<asp:TemplateField HeaderText="Judges" SortExpression="Judges">
<HeaderStyle Width="5%" HorizontalAlign="Left" />
<ItemStyle Width="5%" HorizontalAlign="Left" />
<HeaderTemplate>
XYZ
</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="txtXyz" SkinID="txtUpperCase" runat="server" Width="32px" MaxLength="60" Text='<%# Eval("Xyz") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
In .cs file
protected void grdDocket_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
switch (e.Row.RowType)
{
case DataControlRowType.DataRow:
TextBox txtXyz = (TextBox)e.Row.FindControl("txtXyz");
var aceXyz = getAutoCompleteExtender("Xyz", txtXyz.ID);
e.Row.Controls.Add(aceJudge);
}
}
catch (Exception ex)
{
TblSyExceptions.Log(ex, HttpContext.Current.ToString(), SessionWrapper.UserId);
//this.msgBoxMain.Show(string.Format("An error was logged: {0}", ex.Message.ToString()), MessageBox.PbKMessageType.Error);
}
}
private AutoCompleteExtender getAutoCompleteExtender(string id, string clientId)
{
var ace = new AutoCompleteExtender();
string[] splitStr = {"txt"};
var cid = clientId.Split(splitStr,StringSplitOptions.None)[0];
//ace.ID = cid + "ace" + id;
ace.ID = "ace" + id;
//ace.BehaviorID = cid + "ace" + id + "BehaviourCode";
//ace.TargetControlID = clientId;
ace.ServiceMethod = "SearchByAttorneyBarCodeORNameNoJQ";
ace.ServicePath = "../WebService/SearchCharge.asmx";
ace.MinimumPrefixLength = 2;
ace.CompletionInterval = 100;
ace.EnableCaching = true;
ace.CompletionSetCount = 20;
ace.UseContextKey = true;
ace.ContextKey = "J";
ace.CompletionListCssClass = "AutoExtenderList";
ace.CompletionListItemCssClass = "AutoExtenderListItem";
ace.CompletionListHighlightedItemCssClass = "AutoExtenderHighlightItem";
ace.ShowOnlyCurrentWordInCompletionListItem = true;
ace.FirstRowSelected = false;
ace.OnClientItemSelected = "GetSelected" + id;
ace.OnClientPopulated = "HighlithSearchTerm";
ace.CompletionListElementID = "divAuthoCompListItemContainerFor" + id;
return ace;
}