Axapta : 이미지 변경 후 FormTreeControl 업데이트
-
19-09-2019 - |
문제
다른 방법 (데이터, 텍스트 등)에서 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. DataSource 메소드에서 추가/삭제하려고 시도하면 일부 트리 제어 객체가 초기화되지 않으므로 항목 삭제는 객체를 초기화되지 않은 오류가 아닌 오류가 발생하지 않습니다.
수정 : :
1. 새 항목을 만듭니다 (이전 항목의 addAfterIdx).
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;
}
제휴하지 않습니다 StackOverflow