Я попытался отфильтровать ASPxComboBox, который получает данные с использованием XpoDataSource, обратите внимание, что восстановление и фильтрация данных из небольшого набора данных работает нормально, проблема начинается, когда я пытаюсь фильтровать большой набор данных - около 70000 записей - из источника данных загрузка ComboBox становится очень медленной, так как XpoDataSource получает все данные из таблицы базы данных. Итак, я создал критерии для XpoDataSource, чтобы уменьшить количество восстановленных записей, тогда ComboBox продолжает повторять 10 лучших записей при прокрутке ComboBox, я не знаю, где проблема.ASPXComboBox Filtering Large DataSet с использованием XpoDataSource (DevExpress)
я понял, что мне нужно, это похоже на пример в следующем link
Но используя XpoDataSource вместо SqlDataSource1. Я не знаю, как написать аналогичный код для XpoDataSource.
это мой код:
protected void cmbServices_OnItemRequestedByValue_SQL(object source, DevExpress.Web.ASPxEditors.ListEditItemRequestedByValueEventArgs e)
{
try
{
string criteria = "";
if (string.IsNullOrEmpty(e.Value.ToString()) || e.Value.ToString().Length < 3)
{
criteria = "1 = 2";
}
else
{
criteria =
string.Format("((Code like '{0}%' OR ProductName like '{0}%') AND CustomerId = {1})", e.Value.ToString(), (cmbServicesActivities != null && cmbServicesActivities.Value != null) ? cmbServicesActivities.Value.ToString() : "0");
}
dsServices.Session = LookupsSession;
dsServices.Criteria = criteria;
cmbServicesDescription.DataSource = dsServices;
cmbServicesDescription.DataBind();
}
catch (Exception exc)
{
Debug.WriteLine(exc.Message);
}
}
Почему вы не обратитесь в службу поддержки DevExpress напрямую? – Mikhail
Я думаю, что я собираюсь сделать это сейчас –