ITabRange.AutoFill

Синтаксис Fore

AutoFill(DestinationRange: ITabRange; [Type: TabRangeFillType = 0]);

Синтаксис Fore.NET

AutoFill(DestinationRange: Prognoz.Platform.Interop.Tab.ITabRange; Type: Prognoz.Platform.Interop.Tab.TabRangeFillType);

Параметры

DestinationRange. Диапазон, в котором необходимо произвести автоматическое заполнение;

Type. Способ заполнения.

Описание

Метод AutoFill производит автоматическое заполнение указанного диапазона на основании данных текущего диапазона.

Комментарии

Автозаполнение производится путем копирования данных из ячеек текущего диапазона в указанный диапазон. По умолчанию копируются данные (формула, значение и текст) и оформление ячеек. При копировании ячейки чередуются с учетом количества ячеек в исходном диапазоне. Буфер обмена при автозаполнении не используется.

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

Если исходный диапазон содержит объединенные ячейки, то в указанном диапазоне также должны быть объединенные ячейки. Расположение объединенных ячеек в диапазонах должно совпадать. При несовпадении расположения объединенных ячеек в диапазонах и пересечении границ объединения, расположенного вне исходного диапазона, с границами указанного диапазона выдается сообщение об ошибке. В противном случае при несовпадении расположения объединенных ячеек происходит переобъединение.

Для работы с данными через буфер обмена могут использоваться методы Copy/Cut/Paste. В Fore.NET также доступны аналогичные методы, работающие через потоки: CopyToStream/CutToStream/PasteFromStream.

Пример Fore

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента TabSheetBox и компонента UiTabSheet с наименованием «UiTabSheet1». «UiTabSheet1» является источником данных для TabSheetBox.

    Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
    Var
        TSheet: ITabSheet;
        SourceRange, DestRange: ITabRange;
    Begin
        TSheet := UiTabSheet1.TabSheet;
        SourceRange := TSheet.ParseRange("A0:A4");
        DestRange := TSheet.ParseRange("A0:A9");
        SourceRange.AutoFill(DestRange, TabRangeFillType.Values);
    End Sub Button1OnClick;

При нажатии на кнопку будет произведено автозаполнение диапазона «A5:A9» на основании данных диапазона «A0:A4». При автозаполнении будут скопированы только формулы, значения и текст ячеек.

Пример Fore.NET

Для выполнения примера предполагается наличие .NET-формы, расположенной на ней кнопки с наименованием «Button1», компонента TabSheetBoxNet и компонента UiTabSheetNet с наименованием «UiTabSheetNet1». «UiTabSheetNet1» является источником данных для TabSheetBoxNet.

    Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
    Var
        TSheet: ITabSheet;
        SourceRange, DestRange: ITabRange;
    Begin
        TSheet := UiTabSheetNet1.Source.GetTabSheet();
        SourceRange := TSheet.ParseRange("A0:A4");
        DestRange := TSheet.ParseRange("A0:A9");
        SourceRange.AutoFill(DestRange, TabRangeFillType.trftValues);
    End Sub;

При нажатии на кнопку будет произведено автозаполнение диапазона «A5:A9» на основании данных диапазона «A0:A4». При автозаполнении будут скопированы только формулы, значения и текст ячеек.

См. также:

ITabRange