jQuery MiniUI

标题: 树修改的时候 获取不到 _state [打印本页]

作者: wangzhiyu1234    时间: 2014-1-14 16:30:05     标题: 树修改的时候 获取不到 _state

     //新增节点
        function onAddNode(e) {
                var tree = mini.get("tree1");
            var node = tree.getSelectedNode();
            var newNode = {name: "新建分类" };
            tree.addNode(newNode, "add", node);
            saveData();
}



//保存节点
          function saveData() {
            var tree = mini.get("tree1");
            var data = tree.getData();
            var json = mini.encode(data);
            var msgid = mini.loading("数据保存中,请稍后......", "保存数据");
            jQuery.ajax({
                url: "data/TreeService.jsp?method=SaveTree",
                data: { data: json },
                type: "post",
                success: function (text) {
                    mini.hideMessageBox(msgid);
                    window.location.reload();
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert(jqXHR.responseText);
                }
            });
        }


public void SaveTree(HttpServletRequest request, HttpServletResponse response)throws Exception
{
    String dataJSON = request.getParameter("data");
    ArrayList tree = (ArrayList)Admin.dao.JSON.Decode(dataJSON);

    //树形转换为列表
    ArrayList list = TreeUtil.ToList(tree, "-1", "children", "id", "pid");

    //生成id和num
    for(int i = 0,l = list.size();i<l;i++){
       HashMap node = (HashMap)list.get(i);
      if(node.get("id") == null || node.get("id").toString().equals("")){
        String UID = UUID.randomUUID().toString();
           node.put("id",UID);
       }
        node.put("num",i);
    }

    //生成pid
    list = TreeUtil.ToList(tree, "-1", "children", "id", "pid");

    // Add/Update/Move Node
    for(int i=0,l=list.size();i<l;i++){
           HashMap node = (HashMap)list.get(i);           
           String state = node.get("_state") == null ? "" : node.get("_state").toString();           
           if(state.equals("added"))
           {
                new Admin.dao.TestDB().InsertClass(node);
           }else{
                new Admin.dao.TestDB().UpdateClass(node);   
           }
      }
}



作者: factory    时间: 2014-1-14 16:49:55

[attach]3759[/attach]

作者: wangzhiyu1234    时间: 2014-1-14 16:59:16

factory 发表于 2014-1-14 16:49

这个从哪儿看的
作者: wangzhiyu1234    时间: 2014-1-14 17:04:19

factory 发表于 2014-1-14 16:49

求详细的解决方法
作者: factory    时间: 2014-1-14 17:06:23

wangzhiyu1234 发表于 2014-1-14 17:04
求详细的解决方法

用的例子就是http://www.miniui.com/demo/index.html#src=tree/treeCRUD.html

最后保存的时候
var data = tree.getData();
    var json = mini.encode(data);
data里面的数据,如果是改过的数据,都会有_state
作者: wangzhiyu1234    时间: 2014-1-14 17:14:37

factory 发表于 2014-1-14 17:06
用的例子就是http://www.miniui.com/demo/index.html#src=tree/treeCRUD.html

最后保存的时候

我做了修改和新增操作  但是date里面并没有 _state的值  --! 不知道是为什么
作者: factory    时间: 2014-1-14 17:29:14

wangzhiyu1234 发表于 2014-1-14 17:14
我做了修改和新增操作  但是date里面并没有 _state的值  --! 不知道是为什么

修改之后我们都会在数据上加上字段的,以便后台根据字段不同值,来进行不同的数据库操作.不可能没有的
实在没有的话,更新miniui看看
作者: wangzhiyu1234    时间: 2014-1-14 17:31:44

恩,我更新下试试.
树形联动   为什么父节点不能联动啊?
作者: factory    时间: 2014-1-14 17:32:57

wangzhiyu1234 发表于 2014-1-14 17:31
恩,我更新下试试.
树形联动   为什么父节点不能联动啊?

树节点不能联动是什么意思





欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2