Добрый день!
Хочу задать вопрос относительно компоненты DataTreeGrid. Возможно ли получить из данного компонента список множества выбранных записей?
Для компоненты DataGrid получить список выбранных записей у меня удалось, а при использовании DataTreeGrid возникли сложности, описанные в примере кода ниже. Данный код применяется мной для создания собственного обработчика в разделе "Планирование" в тексте скрипта wnd_ForecastWorkspaceScript. Нижеприведённый код корректно отработал для компоненты DataGrid в другом разделе, но отказался работать для DataTreeGrid. В свойстве Style для DataTreeGrid указано dtgsGrid.
function amiSetCurrentItemsOnExecute(ActionMenuItem) {
debugger;
var DataGrid = BaseWorkspace.GridWindow.ComponentsByName('grdData');
var SelectedIDs = DataGrid.SelectedIDs.CreateCopy();
var Count = SelectedIDs.Count;
/*В случае с компонентом DataGrid в переменную Count попадает корректное значение количества выбранных в гриде записей. В случае же с элементом DataTreeGrid в переменную Count попадает значение 0 вне зависимости от количества выбранных элементов в дереве.*/
for (var i = 0; i Count; i++) {
var ID = SelectedIDs.Items(i);
/*Здесь выполняются действия для каждой отдельной записи*/
}
}
Надеюсь на вашу помощь. Заранее спасибо!
Нравится
Добрый день, Рустам!
Прошу прощения за задержку с ответом.
Свойство DataTreeGrid.SelectedIDs работает исправно. Для правильной работы этого свойства необходимо, чтобы в наборе данных было установлено свойство KeyDataField.
Думаю, именно по этой причине не удается считать ID выделенный записей в разделе Планирование.
Для нормальной работы Вашего действия придется определить, какое поле набора данных реестра можно считать ключевым, установить его как ключевое, и тогда SelectedIDs будет работать правильно.
Желаю успехов!