DataGrid.OnCompareItems

Синтаксис

Sub OnCompareItems(Sender: Object; Args: IDataGridCompareEventArgs);

Begin

//набор операторов;

End Sub OnCompareItems;

Параметры

Sender. Параметр, возвращающий компонент, сгенерировавший событие.

Args. Параметр, позволяющий определить параметры события.

Описание

Событие OnCompareItems наступает при сравнении значений колонки во время пользовательской сортировки компонента DataGrid.

Пример

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1" и компонента DataGrid с наименованием "DataGrid1".

Class TestForm: Form

DataGrid1: DataGrid;

Button1: Button;

Rows: IDataGridRows;

 

Sub DataGrid1OnCompareItems(Sender: Object; Args: IDataGridCompareEventArgs);

Var

s1, s2: String;

Begin

s1 := Rows.Item(Args.LeftRow).ColumnValue(0);

s2 := Rows.Item(Args.RightRow).ColumnValue(0);

If s1.Length > s2.Length Then

Args.Compare := 1;

Elseif s1.Length < s2.Length Then

Args.Compare := -1;

Elseif s1.Length = s2.Length Then

Args.Compare := 0;

End If;

End Sub DataGrid1OnCompareItems;

 

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);

Begin

Rows := DataGrid1.Rows;

DataGrid1.SortType := ControlSortType.Custom;

DataGrid1.EnableSort := True;

DataGrid1.Columns.Item(0).SortIndex := 0;

DataGrid1.Columns.Item(0).SortAscending := False;

End Sub Button1OnClick;

End Class TestForm;

После выполнения примера при нажатии на кнопку будет осуществлена пользовательская сортировка по значениям первой колонки компонента. Строки будут упорядочены по убыванию длины значений.

См. также:

DataGrid