ActivateEditor: TriState;
ActivateEditor: Prognoz.Platform.Interop.ForeSystem.TriState;
Свойство ActivateEditor определяет режим активации редактора ячейки.
Возможные значения:
TriState.Undefined. Режим не определен;
TriState.OnOption. Редактор ячейки активируется при получении фокуса ячейкой;
TriState.OffOption. Значение по умолчанию. Редактор ячейки активируется при двойном щелчке основной кнопкой мыши по ячейке.
Для задания настроек редактора значений используйте свойство ITabCellStyle.Binding.
Если для ячейки не задан редактор значений, то будет активирован редактор, соответствующий типу данных ячейки.
Если будет выделен диапазон ячеек, то редактор активироваться не будет.
Для выполнения примера в репозитории предполагается наличие регламентного отчета с идентификатором «REPORT_ACT_EDITOR».
Добавьте ссылки на системные сборки: Metabase, Report, Tab.
Sub UserProc;
Var
mb: IMetabase;
Report: IPrxReport;
BM: IBindingManager;
ComboBoxBinding: IBindingComboBox;
Tab: ITabSheet;
Style: ITabCellStyle;
Begin
// Получаем текущий репозиторий
mb := MetabaseClass.Active;
// Получаем регламентный отчет
Report := mb.ItemById("REPORT_ACT_EDITOR").Edit As IPrxReport;
// Создаем и настраиваем редактор значений в виде раскрывающегося списка
BM := New BindingManager.Create;
ComboBoxBinding := BM.CreateByUi("ComboBox") As IBindingComboBox;
ComboBoxBinding.Items := "1;2;3;4;5";
ComboBoxBinding.ListMode := True;
ComboBoxBinding.Separators := ";";
ComboBoxBinding.Value := "3";
// Получаем стиль ячейки в левом верхнем углу активного листа отчета
Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
Style := Tab.Cell(0, 0).Style;
// Указываем, что для ячейки используется созданный редактор значений
Style.Binding := ComboBoxBinding.AsString;
// Указываем, что редактор будет активироваться, если ячейка получит фокус
Style.ActivateEditor := TriState.OnOption;
// Сохраняем изменения
(Report As IMetabaseObject).Save;
End Sub UserProc;
В результате выполнения примера для ячейки в левом верхнем углу активного листа отчета будет настроен редактор значений в виде раскрывающегося списка. Данный редактор будет активироваться при получении фокуса ячейкой.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
Report: IPrxReport;
BM: IBindingManager;
ComboBoxBinding: IBindingComboBox;
Tab: ITabSheet;
Style: ITabCellStyle;
Begin
// Получаем текущий репозиторий
mb := Params.Metabase;
// Получаем регламентный отчет
Report := mb.ItemById["REPORT_ACT_EDITOR"].Edit() As IPrxReport;
// Создаем и настраиваем редактор значений в виде раскрывающегося списка
BM := New BindingManager.Create();
ComboBoxBinding := BM.CreateByUi("ComboBox") As IBindingComboBox;
ComboBoxBinding.Items := "1;2;3;4;5";
ComboBoxBinding.ListMode := True;
ComboBoxBinding.Separators := ";";
ComboBoxBinding.Value := "3";
// Получаем стиль ячейки в левом верхнем углу активного листа отчета
Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
Style := Tab.Cell[0, 0].Style;
// Указываем, что для ячейки используется созданный редактор значений
Style.Binding := ComboBoxBinding.AsString;
// Указываем, что редактор будет активироваться, если ячейка получит фокус
Style.ActivateEditor := TriState.tsOnOption;
// Сохраняем изменения
(Report As IMetabaseObject).Save();
End Sub;
См. также: