Не подскажете ли решение одной проблемы – как определить положение колонки грида? Смотрел ее свойства – свойства Left нет. Есть ширина, но OrderPosition 0 у всех (может оно где-то на последнем этапе появляется). Если бы можно было пройтись по колонкам от первой до интересующей, то можно было бы вычислить положение. Как определить координаты элементов?
Нравится
Добрый день.
Настройка положения колонок "вытаскивается" из закешированного содержимого. Базовые функции. работающие с кешем представлены в Common\Library\scr_WindowUtils: WinCache_Get, WinCache_CheckExtent() и т.д. Примеры их использования можно найти в конфигурации.
Если окно еще ни разу не открывалось - ядро обращается непосредственно к XML содержимому сервиса окна, и по мере получения Item'ов формирует обект окна. При необходимости уточним у разработчиков, учитывается ли OrderPosition, и реализуема ли Ваша задача. Уточните также, в свою очередь, какие бинарные файлы используете Вы (их версию).
Здравствуйте!
Цикл:
var j = 0;
var ActiveView = DataGrid.ActiveView;
for (var i = 0; i < DataGrid.ActiveView.Count; i++) {
var DataField = ActiveView.Items(i);
if (!DataField.IsEnabled) {
continue;
}
//Это поле, DataField стоит под номером j. Дальше что хотите, то и делаете
j++;
}
Даже если кто-то испортил порядок вручную, то запустив эту функцию еще раз мы все-равно определим положение
Спасибо, работает. Не поскажете еще как программно менять порядок следования элементов внутри фреймгруп. Например внутри FrameGroup5 находятся (fgOffering1, fgOffering2, fgOffering3, fgOffering4) Хотелось бы изменить порядок следования - (fgOffering4, fgOffering2, fgOffering1, fgOffering3)