2 zoewren zoewren 于 2016.01.18 13:58 提问

easyui点击树节点添加选项卡,且选项卡内加载数据表格为什么我的代码只能实现一个?

$("#tr1").tree({
url:'tree_data.json'
});

//双击树的节点添加面板
$("#tr").tree({
    onDblClick:function(node){
        addTab(node);
    }
});

//添加面板
function addTab(node){
    $("#ta").tabs('add',{
        title:node.text,
        content:'<table id="tb"></table>',
        closable:true
    }); 
}

//添加选项卡的时候添加数据表格
$(function(){
    $("#ta").tabs({
        onAdd:function(title,index){
            addGrid();
        }
    });
});


//添加数据表格的方法
function addGrid(){
$("#tb").datagrid({
            url:'datagrid_data.json',
            iconCls:'icon-ok',
            columns:[[
                      {field:'code',title:'Code',width:100},
                      {field:'name',title:'Name',width:100},
                      {field:'price',title:'Price',width:100,align:'right'}
                      ]],
            fitColumns:true,//允许表格自动缩放,以适应父容器
            pagination : true//分页
            //rownumbers:true//显示行数  
        });
}

2个回答

showbo
showbo   Ds   Rxr 2016.01.19 15:16

addTab要先执行,才能执行addGrid,要不tab没执行就没有table容器就无法生成你的datagrid了

showbo
showbo var index = 0; function addTab(node) { $("#ta").tabs('add', { title: node.text, content: '<table id="tb'+index+'"></table>', closable: true }); addGrid(); index++; } function addGrid() { $("#tb"+index).datagrid({///////////////
接近 2 年之前 回复
showbo
showbo 回复zoewren: 你在addTab后在调用addGrid,不过你调用多次addTab会导致id重复,你最好是增加个全局自增变量,id连接这个变量使id唯一
接近 2 年之前 回复
zoewren
zoewren 是,逻辑是这样的,但是怎么保证addTab先执行呢?有具体的代码么
接近 2 年之前 回复
devmiao
devmiao   Ds   Rxr 2016.01.19 04:24
Csdn user default icon
上传中...
上传图片
插入图片