Я работаю над модулем выбора клиента , который будет autocomplete
при наборе текста. Кажется, что Select2.js
сделает эту работу, мне уже удалось заполнить мой dropdownlist
, но на серверной части (файл .cs
) простой привязкой данных.
Проблема в том, что я работаю только с выборочными данными 15 клиентов, поэтому производительность просто отличная, я ожидаю фактических данных почти 2000 клиентов, поэтому просто связывание может испортить производительность.
Вот мой код для события привязки и реализации файла select2.js
.aspx
:
<asp:DropDownList runat="server" ID="ddlCustomers" CssClass="form-control" async="">
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
.cs
file:
protected void BindDropDownCustomers()
{
DataTable dt = SharedClass.getAPI("CustomerProfile_All"); //Returns Data from Webservice
DataColumn newColumn = new DataColumn();
//just formating the display
newColumn.ColumnName = "FullName";
newColumn.DataType = System.Type.GetType("System.String");
newColumn.Expression = "Cust_Last_Name+', '+Cust_First_Name";
dt.Columns.Add(newColumn);
ddlCustomers.DataTextField = "FullName";
ddlCustomers.DataValueField = "SmartCardID";
ddlCustomers.DataSource = dt.DefaultView;
ddlCustomers.DataBind();
ddlCustomers.Items.Insert(0, new ListItem("Select Customer", ""));
}
select2.js
script:
$('#<%= ddlCustomers.ClientID %>').select2({
placeholder: "Select customer",
minimumResultsForSearch: 2,
minimumInputLength: 3,
allowClear: true
});
Я хочу что-то вроде, когда пользователь вводит минимум 3 символа, запрос будет выполнен и получит все связанные данные, которые будут заполнять dropdownlist
и одновременно ограничивать или оптимизировать отображение.