XpoDataSource를 사용하여 데이터를 가져 오는 ASPxComboBox를 필터링하려고했습니다. 작은 데이터 집합에서 데이터를 복원하고 필터링하면 문제가 없습니다. 큰 데이터 집합을 필터링하려고 할 때 문제가 발생합니다. 약 70000 레코드 - XpoDataSource가 데이터베이스 테이블에서 모든 데이터를 가져 오기 때문에 데이터 소스에서 ComboBox 로딩이 매우 느립니다. 그래서 복원 된 레코드 수를 줄이기 위해 XpoDataSource에 대한 조건을 만들었고 ComboBox는 ComboBox를 스크롤하는 동안 상위 10 개 레코드를 반복하여 보관합니다. 문제가있는 곳을 모르겠습니다. ASPxComboBox XpoDataSource (DevExpress)를 사용하여 대용량 데이터 집합을 필터링하는 중입니다.
은 내가 필요한 다음 link의 예와 유사하지만 그 대신 SqlDataSource1의 XpoDataSource을 사용하고 있음을 깨달았다. 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
나는 지금 그 일을 할 것이라고 생각한다. –