How to: Filter in Server Mode
- 2 minutes to read
This example illustrates how ASPxGridLookup’s incremental filtering can be utilized efficiently in server mode when the editor is bound to a large data source (over 20,000 records).
In the example, ASPxGridLookup is bound to an XpoDataSource component whose ServerMode property is set to true, which enables server mode for the control.
ASPxGridLookup’s filtering works in the following modes:
- StartsWith
- Contains
- None with the filter row enabled (GridViewProperties.Settings.ShowFilterRow)
The “FirstName LastName” format (TextFormatString = "{0} {1}"
) is used to enter search strings and display the selected item’s value within the edit box.
protected void Page_Load(object sender, EventArgs e) {
if (!IsCallback && !IsPostBack)
RadioButtonList.SelectedIndex = 0;
UpdateFilteringMode();
GridLookup.GridView.Width = 370;
}
protected void Page_Init(object sender, EventArgs e) {
Session session = XpoHelper.GetNewSession();
XpoDataSource.Session = session;
}
protected void UpdateFilteringMode() {
switch (RadioButtonList.SelectedItem.Value.ToString()) {
case "StartsWith":
GridLookup.IncrementalFilteringMode = IncrementalFilteringMode.StartsWith;
GridLookup.GridViewProperties.Settings.ShowFilterRow = false;
GridLookupCaptionLabel.Text = "Start typing to invoke filtering:";
break;
case "Contains":
GridLookup.IncrementalFilteringMode = IncrementalFilteringMode.Contains;
GridLookup.GridViewProperties.Settings.ShowFilterRow = false;
GridLookupCaptionLabel.Text = "Start typing to invoke filtering:";
break;
case "Filter Row":
GridLookup.IncrementalFilteringMode = IncrementalFilteringMode.None;
GridLookup.GridViewProperties.Settings.ShowFilterRow = true;
GridLookupCaptionLabel.Text = "Type within the grid filter row to start filtering:";
break;
}
}