我现在已经把TREEPANEL生成树的!..树带有复选框!我想让它加载时从数据库里读出一些值!要是树的节点在这些值里就cbeckbox选中...这个要怎么写啊???????

解决方案 »

  1.   

    我知道很多人用过EXTJS!有相应的功能代码也可以贴上来的!EXTJS也可以的!只要可以实现这个功能的...
      

  2.   


     Ext.onReady(function () {
                var tree = new Ext.tree.TreePanel({
                    id: 'tree-mianban',
                    animate: true,
                    root: new Ext.tree.AsyncTreeNode({
                        id: '0',
                        text: "XXX管理系统",
                        loader: new Ext.tree.TreeLoader({
                            url: "tree_check_data.ashx",
                            listeners: {
                                "beforeload": function (treeloader, node) {
                                    treeloader.baseParams = {
                                        id: node.id,
                                        method: 'POST'
                                    };
                                }
                            }
                        })
                    }),
                    rootVisible: false,
                    border: false,
                    animate: true,
                    lines: true,
                    enableDD: true,
                    useArrows: true,
                    containerScroll: true
                });
                tree.on('checkchange', function (node, checked) {
                    //alert(node.id);
                    node.expand();
                    node.attributes.checked = checked;
                    node.eachChild(function (child) {
                        child.ui.toggleCheck(checked);
                        child.attributes.checked = checked;
                        child.fireEvent('checkchange', child, checked);
                    });
                }, tree);
                tree.expandAll();            var treeForm = new Ext.FormPanel({
                    id: 'equipment_info',
                    frame: true,
                    bodyStyle: 'padding:5px',
                    autoWidth: true,
                    aotoHeight: true,
                    border: false,
                    layout: 'column',
                    defaults: { anchor: "95%" },
                    items: [tree],
                    tbar: [new Ext.Toolbar.Fill()
                    , "", "-", "", {
                        text: "确定",
                        tooltip: "确定",
                        handler: function () {
                            var checkedNodes = tree.getChecked();
                            var s = [];
                            for (var i = 0; i < checkedNodes.length; i++) {
                                if (checkedNodes[i].leaf != false) {//根节点不选
                                    s.push(checkedNodes[i].text)
                                }
                            }
                            Ext.MessageBox.show({
                                title: '选择的项',
                                msg: s.join('<br />'),
                                width: 350,
                                icon: Ext.MessageBox.INFO
                            });
                        }
                    }]
                });
                var dtreeWin = new Ext.Window({
                    title: "列表",
                    renderTo: Ext.getBody(),
                    id: 'treewin',
                    width: 260,
                    height: 470,
                    autoScroll: true,
                    plain: true,
                    iconCls: "editicon",
                    resizable: true,
                    defaultType: "textfield",
                    labelWidth: 100,
                    collapsible: true,
                    closable: true,
                    plain: true,
                    modal: 'true',
                    buttonAlign: "center",
                    bodyStyle: "padding:8px 0 0 10px",
                    items: [treeForm]
                });
                dtreeWin.show();
            })
      

  3.   

     JSONTree tree = new JSONTree();
                DataSet ds = new DataSet();
                ds = SysPowerbll.GetList(parentid);            foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    JSONTreeNode node = new JSONTreeNode()
                    {
                        id = Convert.ToInt32(dr["PermissionId"]),
                        text = dr["Description"].ToString()
                    };
                    //复选框是否勾选 判断该用户是否有权限
                    node.@checked = UserPowerExist(userid,dr["PermissionId"].ToString());
                    tree.chidren.Add(node);
                }
                return tree.ToString();
    我是在服务器控制是否选中的
      

  4.   

    前台和后台没关系,后台控制选中,只要设置“checked”的值就行了