Hi HMoeller,
Thank you for your interest in Syncfusion products.
1. Accelerating filtering with large number of records.You can accelerate filtering in custom collection IBindingList when large number of records are used by using filtering TextBox.
This can be achieved by using following steps.
1) Change the celltype of FilterBarCell to TextBox in QueryCellStyleInfo event handler.
2) In TableControlCurrentCellChanged event, you can enable filtering by applying typed text as filtered expression.
The following code snippet illustrates this.
[C#]
private void gridGroupingControl1_TableControlCurrentCellChanged(object sender, GridTableControlEventArgs e)
{
GridCurrentCell cc = e.TableControl.CurrentCell;
GridTableCellStyleInfo style = e.TableControl.GetTableViewStyleInfo(cc.RowIndex, cc.ColIndex);
if (style.TableCellIdentity.DisplayElement is GridFilterBarRow)
{
string s1 = cc.Renderer.ControlText;
int rowIndex = this.gridGroupingControl1.Table.DisplayElements.IndexOf(style.TableCellIdentity.DisplayElement);
int colIndex = cc.ColIndex;
string colName = style.TableCellIdentity.Column.Name;
string expression = string.Format("[{0}] LIKE '{1}*'", colName, cc.Renderer.ControlText);
if (style.TableCellIdentity.Table.TableDescriptor.RecordFilters[colName] == null)
{
style.TableCellIdentity.Table.TableDescriptor.RecordFilters.Add(new RecordFilterDescriptor(colName, expression));
}
else
{
style.TableCellIdentity.Table.TableDescriptor.RecordFilters[colName].Expression = expression;
}
}
}
Here is a sample for your reference.
http://websamples.syncfusion.com/samples/Grouping.Windows/F70011/main.htm 2. Self referencing Nested table.Please provide us more information on how do you want to provide Self-referencing relations between two fields for implementing nested table that would help me to provide you an exact solution.
Regards,
Jaya