RemoveByKey(Key: Integer): Boolean;
Key. Ключ ряда.
Метод RemoveByKey удаляет ряд по заданному ключу. Метод возвращает True, в случае успешного удаления, в противном случае - False.
Для выполнения примера предполагается наличие формы, где расположена кнопка с наименованием «Button1», компонент IntegerEdit с наименованием «IntegerEdit1» (для примера Fore.NET компонент numericUpDown с наименованием «numericUpDown1»). Наличие регламентного отчета с идентификатором «REGULAR_REPORT», на листе которого расположена трёхмерная сцена с несколькими рядами данных. Подключите системные сборки: Metabase, Report, Tab, Ui, Forms, Forms.Net (для примера Fore.NET).
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Report: IPrxReport;
S: IPrxScene3D;
Series: IPrxScene3DSeries;
MB: IMetabase;
Tab: ITabSheet;
Begin
MB := MetabaseClass.Active;
Report := MB.ItemById("REGULAR_REPORT").Edit As IPrxReport;
Tab := (Report.Sheets.Item(0) As IPRxTable).TabSheet;
S := Tab.Objects.Item(0).Extension As IPrxScene3D;
Series := S.Series;
If Series.RemoveByKey(IntegerEdit1.Value) Then
WinApplication.InformationBox("Объект удален");
Else
WinApplication.InformationBox("Ошибка при удалении");
End If;
(Report As IMetabaseObject).Save;
End Sub Button1OnClick;
Введите в строку ключ ряда и нажмите кнопку. По результатам выполнения будет выдано соответствующее сообщение.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Ui;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
Report: IPrxReport;
S: IPrxScene3D;
Series: IPrxScene3DSeries;
MB: IMetabase;
Tab: ITabSheet;
WinApp: WinApplicationClassClass = New WinApplicationClassClass();
Begin
MB := Self.Metabase;
Report := MB.ItemById["REGULAR_REPORT"].Edit() As IPrxReport;
Tab := (Report.Sheets.Item[0] As IPRxTable).TabSheet;
S := Tab.Objects.Item[0].Extension As IPrxScene3D;
Series := S.Series;
If Series.RemoveByKey(Convert.ToUInt32(numericUpDown1.Value)) Then
WinApp.InformationBox("Объект удален", Null);
Else
WinApp.InformationBox("Ошибка при удалении", Null);
End If;
(Report As IMetabaseObject).Save();
End Sub;
См. также: