AutoFill(DestinationRange: ITabRange; [Type: TabRangeFillType = 0]);
AutoFill(DestinationRange: Prognoz.Platform.Interop.Tab.ITabRange; Type: Prognoz.Platform.Interop.Tab.TabRangeFillType);
DestinationRange. Диапазон, в котором необходимо произвести автоматическое заполнение;
Type. Способ заполнения.
Метод AutoFill производит автоматическое заполнение указанного диапазона на основании данных текущего диапазона.
Автозаполнение производится путем копирования данных из ячеек текущего диапазона в указанный диапазон. По умолчанию копируются данные (формула, значение и текст) и оформление ячеек. При копировании ячейки чередуются с учетом количества ячеек в исходном диапазоне. Буфер обмена при автозаполнении не используется.
Если ячейки исходного диапазона содержат формулы, то данные формулы будут скорректированы относительно нового диапазона.
Если исходный диапазон содержит объединенные ячейки, то в указанном диапазоне также должны быть объединенные ячейки. Расположение объединенных ячеек в диапазонах должно совпадать. При несовпадении расположения объединенных ячеек в диапазонах и пересечении границ объединения, расположенного вне исходного диапазона, с границами указанного диапазона выдается сообщение об ошибке. В противном случае при несовпадении расположения объединенных ячеек происходит переобъединение.
Для работы с данными через буфер обмена могут использоваться методы Copy/Cut/Paste. В Fore.NET также доступны аналогичные методы, работающие через потоки: CopyToStream/CutToStream/PasteFromStream.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «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». При автозаполнении будут скопированы только формулы, значения и текст ячеек.
Для выполнения примера предполагается наличие .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». При автозаполнении будут скопированы только формулы, значения и текст ячеек.
См. также: