Аксапта:Обновите FormTreeControl после изменения изображения

StackOverflow https://stackoverflow.com/questions/1892659

  •  19-09-2019
  •  | 
  •  

Вопрос

В моих других методах (data, text и т.д.) метод setItem отлично работает для отображения изменений, внесенных в элемент дерева.Однако вызов setItem после изменения значка элемента, похоже, не имеет никакого эффекта.Каков наилучший способ обновить элемент дерева, чтобы появился новый значок?

Спасибо

public void modified()
{
    FormTreeItem workingItem;
    ;
    super();

    //find the current item
    workingItem = FormTreeControl.getItem(FormTreeControl.getSelection());
    //update the value
    workingItem.Image(1);
    //update the item in the list
    FormTreeControl.setItem(workingItem);

}
Это было полезно?

Решение

Нашел пару проблем здесь:
1.Так и не нашел способа эффективно обновить значок на элементе дерева.
2.Обнаружил, что некоторые объекты управления деревом не инициализируются при попытке добавления / удаления из метода источника данных, поэтому удаление элементов приводит к ошибкам Object Not Initialized.

Исправил это с помощью:
1.Создайте новый элемент (добавьте идентификатор старого элемента).
2.Удалите старый элемент.
3.Выберите новый элемент.
3.Переместите метод из источника данных в фактический элемент управления формой.

Вот код, который сработал у меня:

public boolean modified()
{
    boolean ret;
    FormTreeItem workingItem = FormTreeControl.getItem(currentEditingIdx);
    TreeItemIdx newItemIdx;
    ;
    ret = super();

    //create a new item
    newItemIdx = SysFormTreeControl::addTreeItem(FormTreeControl, workingItem.text(), FormTreeControl.getParent(workingItem.idx()), workingItem.data(), element.imageIdx(ABC_Icon.text()));
    //delete the old item
    FormTreeControl.delete(currentEditingIdx);
    //select the new item
    FormTreeControl.selectionChanged(FormTreeControl.getItem(FormTreeControl.getRoot()), FormTreeControl.getItem(newItemIdx), FormTreeSelect::Unknown);

    return ret;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top