TabSheetBox.OnChangeCellContent

Синтаксис

Sub TabSheetBox1OnChangeCellContent(Sender: Object; Args: ITabCellContentChangeEventArgs);

Begin

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

End Sub TabSheetBox1OnChangeCellContent;

Параметры

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

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

Описание

Событие OnChangeCellContent наступает, если было произведено изменение содержимого в ячейке таблицы.

Комментарии

Обработка данного события может использоваться, например, для получения формул, вводимых пользователем.

Данное событие отличается от события OnCellChange тем, что событие OnCellChange наступает только если было изменено значение в ячейке таблицы, а событие OnChangeCellContent наступает, если было изменено значение, текст или формула в ячейке таблицы.

Например, в ячейке таблицы содержится значение «5». Если в данную ячейку ввести формулу «=3+2», то значение и текст останутся прежними, а изменится только формула. Следовательно событие OnCellChange не наступит, наступит только событие OnChangeCellContent, так как содержимое ячейки было изменено, а значение осталось прежним.

Если в ячейку была введена или изменена формула и при этом изменится значение ячейки, то событие OnChangeCellContent будет вызвано дважды. При первом вызове свойство Value параметра Args будет содержать введенную формулу, при втором вызове свойство Value будет содержать уже результат вычисления формулы.

Пример

Для выполнения примера данную процедуру необходимо назначить в качестве обработчика события OnChangeCellContent для компонента TabSheetBox с идентификатором «TabSheetBox1».

Sub TabSheetBox1OnChangeCellContent(Sender: Object; Args: ITabCellContentChangeEventArgs);

Begin

If Args.Type = TabCellContentChange.Formula Then

WinApplication.InformationBox("Была введена формула: " + Args.Value);

End If;

If Args.Type = TabCellContentChange.Value Then

WinApplication.InformationBox("Результат вычисления формулы: " + Args.Value);

End If;

End Sub TabSheetBox1OnChangeCellContent;

Если при вводе формулы в ячейку таблицы изменилось и значение в ячейке, то будут показаны 2 сообщения: сначала с текстом формулы, потом с результатом ее вычисления.

См. также:

TabSheetBox