aspx page
<div class="dropdown col-md-2">
<asp:TextBox runat="server" ID="txtSearchByName" CssClass="col-md-12 form-control input-sm"></asp:TextBox>
<ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txtSearchByName"
CompletionSetCount="10" CompletionInterval="100" MinimumPrefixLength="3" ServiceMethod="getData">
</ajaxToolkit:AutoCompleteExtender>
</div>
aspx.cs page
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> getData(string prefixText, int count)
{
return getAdvanceSearchAutocompleteData(prefixText, count);
}
public static List<string> getAdvanceSearchAutocompleteData(string prefixText, int count)
{
List<string> Name = new List<string>();
SqlParameter[] param = { new SqlParameter("prefix", prefixText) };
DataTable dt = new DataAccess().Read("autosuggest_name", param).Tables[0];
foreach (DataRow dr in dt.Rows)
{
Name.Add(dr["Name"].ToString());
}
return Name;
}
from database aspx page
<asp:TextBox ID="txtSenderName" runat="server" class="uk-width-1-2 form-control" MaxLength="99" AutoPostBack="true" OnTextChanged="txtSenderName_TextChanged"></asp:TextBox>
<asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
ServiceMethod="AutoComplete_InwardSender"
ServicePath="AutoComplete.asmx"
MinimumPrefixLength="3"
CompletionInterval="100"
EnableCaching="false"
CompletionSetCount="10"
TargetControlID="txtSenderName"
FirstRowSelected="false">
</asp:AutoCompleteExtender>
aspx.cs
public class AutoComplete : System.Web.Services.WebService
{
/// <summary>
/// Automatics the complete inward sender.
/// </summary>
/// <param name="prefixText">The prefix text.</param>
/// <param name="count">The count.</param>
/// <returns>System.String[].</returns>
[WebMethod]
public string[] AutoComplete_InwardSender(string prefixText, int count)
{
List<string> ajaxDataCollection = new List<string>();
DataTable _objdt = new DataTable();
_objdt = GetData_InwardSender(prefixText);
if (_objdt.Rows.Count > 0)
{
for (int i = 0; i < _objdt.Rows.Count; i++)
{
ajaxDataCollection.Add(_objdt.Rows[i]["SenderName"].ToString());
}
}
return ajaxDataCollection.ToArray();
}
public DataTable GetData_InwardSender(string prefixText)
{
DataTable dt = new DataTable();
InwardInformationDTO inwardInformationDto = new InwardInformationDTO();
using (var client = ServiceClient<IInwardInformationManager>.Create(ObjectConstants.InwardInformationManager))
{
inwardInformationDto.InwardInformationList = client.Instance.GetAllInwardInformationSenderNames(prefixText);
}
dt = ToDataTable(inwardInformationDto.InwardInformationList);
return dt;
}
SQL
ALTER PROCEDURE [dbo].[SSP_GetAllInwardInformationSenderNames]
(
@SenderName nvarchar(99)
)
AS
BEGIN
SELECT CAST((
SELECT Distinct
[SenderName]
FROM [dbo].[InwardInformation]
Where SenderName like @SenderName+'%'
FOR XML RAW('InwardInformationList'),ELEMENTS,ROOT('InwardInformation')) AS XML)
END
No comments:
Post a Comment