ERP自定义初始化树

/**
* 实例化项目树
*
* @author BIN
*/
private void initTree() throws Exception
{
ITreeNode root = new DefaultKingdeeTreeNode("项目");
KDTree tree = new KDTree(root);
IReferenceProjectType _projectTypes = ReferenceProjectTypeFactory.getRemoteInstance();
ReferenceProjectTypeCollection _referenceCollection = _projectTypes.getReferenceProjectTypeCollection();
HashMap _treeNodeMap = new HashMap();
HashMap _tempMap = new HashMap();

for (Iterator _iterator = _referenceCollection.iterator(); _iterator.hasNext();)
{
ReferenceProjectTypeInfo _referenceInfo = (ReferenceProjectTypeInfo) _iterator.next();
ReferenceProjectTypeInfo _parent = _referenceInfo.getParent();
if (null != _parent)
{
if (null != _treeNodeMap.get(_parent.getId()))
{

((List) _treeNodeMap.get(_parent.getId())).add(_referenceInfo);
}
else
{
if (null != _tempMap.get(_parent.getId()))
{
((List) _tempMap.get(_parent.getId())).add(_referenceInfo);
}
else
{
List _tempList = new ArrayList();
_tempList.add(_referenceInfo);
_tempMap.put(_parent.getId(), _tempList);
}
}

}
else
{
if (null != _tempMap.get(_referenceInfo.getId()))
{
List _list = (List) _tempMap.get(_referenceInfo.getId());
_treeNodeMap.put(_referenceInfo.getId(), _list);

}
else
{

_treeNodeMap.put(_referenceInfo.getId(), new ArrayList());
}

}

}

KDTreeNode node_1 = null;
Set _set = _treeNodeMap.entrySet();
for (Iterator _iterator = _set.iterator(); _iterator.hasNext();)
{
Entry _entry = (Entry) _iterator.next();
BOSUuid _bosUuid = (BOSUuid) _entry.getKey();
ReferenceProjectTypeInfo _key = _projectTypes.getReferenceProjectTypeInfo(new ObjectUuidPK(_bosUuid));

List _value = (List) _entry.getValue();

KDTreeNode _pNode = new KDTreeNode(_key.getName());
_pNode.setText(_key.getName());
_pNode.setUserObject(_bosUuid);
tree.addNodeInto(_pNode, root);

for (int i = 0; i < _value.size(); i++)
{
ReferenceProjectTypeInfo _secInfo = (ReferenceProjectTypeInfo) _value.get(i);
KDTreeNode _cNode = new KDTreeNode(_secInfo.getName());
_cNode.setText(_secInfo.getName());
_cNode.setUserObject(_secInfo);
tree.addNodeInto(_cNode, _pNode);

}

}

treeView.setTree(tree);
TreeNode treeRoot = (TreeNode) tree.getModel().getRoot();
tree.expandAllNodes(true, treeRoot);
tree.setShowsRootHandles(true);
tree.setShowCheckBox(false);
tree.addTreeSelectionListener(new TreeSelectionListener()
{
public void valueChanged(TreeSelectionEvent evt)
{
DefaultKingdeeTreeNode selectedTreeNode = (DefaultKingdeeTreeNode) evt.getPath().getLastPathComponent();
try
{

treeSelectionChanged(selectedTreeNode);
}
catch (Exception e)
{
MsgBox.showError("树节点数据切换异常!");
e.printStackTrace();
}
}
});
}

猜你喜欢

转载自byri.iteye.com/blog/1740850