TmxDBFilterPanel

Allows end users to visually construct complex filter criteria by combining simple filter conditions for individual items (fields in the linked dataset) using logical operators. The TmxDBFilterPanel automatically processes the specified filter conditions and generates the value for the Filter property (WHERE clause). You can use this value to programmatically apply filtering to the linked dataset object.
Hierarhical structure (like TreeView).
Supports localization capabilities (captions for buttons and menus).
OnBuildingFilter event enables you to change each filter condition at runtime.
A dataset to be filtered is specified by the DataSet property. You can use the
DataSet.Fields property to designate particular visible fields to be available
for constructing filter conditions.
Properties, Methods, Events:
Captions: TCaptions; // sets all captions for
buttons and menus
DataSet: TDataSet; // A dataset to be filtered.
// Set Fields collection and use only visible fields and
// their DisplayLabel for visualization.
DateFormat: String; // use for date conversion
Filter: String; // Generated final SQL-filter. (Read-Only)
OnBuildingFilter: procedure( const Field: TField;
var Expr: String;
var Operator: String;
var Value: Variant ); // if event assigned, call for customizing every
condition.
OnEditChange: procedure( Sender: TObject ); // OnChange event for TmxEdit
boxes. See Delphi help.
OnDropDownCombo: procedure( Sender: TObject ); // OnDropDown event for
TmxEdit combo(s).
procedure AddCustomCondition( const FieldName, Operator, Value: String
); // append custom condition
// to the end of the root level
procedure LoadFromStream( Stream: TStream ); //
Load previously saved filter from stream
procedure SaveToStream( Stream: TStream ); // Save current filter to
stream
Shareware limitations: