【问题标题】:limitation add node primefaces限制添加节点primefaces
【发布时间】:2014-07-08 04:25:39
【问题描述】:

我有这个:

 public void addView(){
        vi.setName_view("View");

        System.out.println(selectedNode.getParent().getData());
         TreeNode node0 = new DefaultTreeNode(new TreeNodeType().getVIEW_TYPE(),vi.getName_view()+""+v++, selectedNode);

        FacesContext context= FacesContext.getCurrentInstance();
        context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "View "+vi.getName_view()+" Added to "+"Cube "+cub.getName_cube(), ""));
    }

我想在某个父节点中只添加一个这种类型的节点,所以我应该测试一下,如果在这个父节点下我有多个 View 你能帮帮我吗?

【问题讨论】:

  • 您能否详细说明这个问题?我的理解是您想以编程方式添加与父节点相同类型的子节点?
  • 是的,但如果用户尝试添加另一种类型的 VIEW_TYPE(),则会出现错误消息
  • 选中的节点(将有一个孩子的那个)最多只能有一个孩子?是这样吗?
  • 是的,对于每个父母,我应该只有一个 typeView 的孩子

标签: jsf-2 primefaces treenode


【解决方案1】:

你可以试试这个对我有用的代码:

public void changeName(){

        String res =selectedNode.getData().toString();

    voila =root.getChildren().get(0);
        if(selectedNode.getData().toString() !=null){
            res=cubMang.cubUpdate.getName_cube();

            selectedNode= new DefaultTreeNode(new TreeNodeType().getCUBE_TYPE(),res, voila);

        TreeNode test= voila.getChildren().get(0);
        selectedNode.getParent().getChildren().remove(voila.getChildren().lastIndexOf(selectedNode)-1);

    }


    }

【讨论】:

    【解决方案2】:

    试试这个解决方案,它会为你工作:

       public void addView(){
    
            vi.setName_view("View");
            //System.out.println(selectedNode.getRowKey()); 
            //System.out.println(selectedNode.getChildCount());
        int i=0;
             TreeNode node0;
                List<TreeNode> testNode=selectedNode.getParent().getChildren();
    
                for ( i= 0;i<testNode.size();i++){
                    FacesContext context= FacesContext.getCurrentInstance();
    
                    System.out.println(testNode.get(i).getChildren());
                    if(testNode.get(i).getChildren().isEmpty() || testaddView == false  ){
                        node0 = new DefaultTreeNode(new TreeNodeType().getVIEW_TYPE(),vi.getName_view()+""+v++, selectedNode);
    
                        context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, vi.getName_view()+" Added to "+cub.getName_cube(), "")); 
                 testaddView = true;
                 }
    
                    else{
                                FacesContext contexte= FacesContext.getCurrentInstance();
                                contexte.addMessage("Warrning", new FacesMessage(FacesMessage.SEVERITY_WARN, "Warnning", "You can't add other View To this Cube")); 
    
                            }
    
                }
    
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      • 2019-10-22
      • 2015-07-31
      • 1970-01-01
      • 2015-10-16
      • 2016-01-13
      相关资源
      最近更新 更多