首页 新闻 会员 周边

关于easyui datagrid展开行的问题

0
悬赏园豆:20 [待解决问题]
 
第一次加载进来的时候是可以展开的,但是点击“添加”按钮,弹出一个遮罩的Dialog,然后关闭这个Dialog, 这时就不能展开了。附上JS代码
$(function () {
    $.ajaxSetup({ cache: false });
    $.parser.parse();

    $("#dg").datagrid({
        url: $("#rolesUrl").val(),
        toolbar: "#toolbar",
        title: "角色",
        pagination: true,
        rownumbers: false,
        singleSelect: true,
        fitColumns: false,
        width: 668,
        height: 400,
        columns: [[
        { field: "RoleName", title: "角色名", width: 319 },
        { field: "Status", title: "状态", width: 319,
            formatter: function (value, rowData, rowIndex) {
                if (rowData.Status == true) {
                    return "有效";
                }
                else {
                    return "失效";
                }
            }
        }
        ]],
        view: detailview,
        detailFormatter: function (index, row) {
            return '<div id="ddv-' + index + '" style="padding:5px 0"></div>';
        },
        onExpandRow: function (index, row) {
            var detailContent = "项目:<ul>";
            if (row.Tasks.length > 0) {
                $(row.Tasks).each(function (index, item) {
                    detailContent = detailContent + "<li>" + item.TaskName + "</li>";
                });
            }
            detailContent = detailContent + "</ul>";
            $('#ddv-' + index).panel({
                border: false,
                cache: false,
                content: detailContent,
                onLoad: function () {
                    $('#dg').datagrid('fixDetailRowHeight', index);
                }
            });
            $('#dg').datagrid('fixDetailRowHeight', index);
        }
    });
}
);

function newRole() {
    var url = $("#addUrl").val();
    var dlg = $("#opsDialog");
    dlg.dialog({
        width: 500,
        height: 400,
        closed: true,
        cache: false,
        href: $("#addUrl").val(),
        modal: true,
        buttons: [{ text: "保存", iconCls: 'icon-add', handler: function () { } },
        { text: "取消", iconCls: 'icon-cancel', handler: function () { $("#opsDialog").dialog("close"); $("#opsDialog").dialog("destroy"); } }],
        onLoad: function () {
            $("#roleName").validatebox({
                required: true,
                missingMessage: "请输入角色名"
            });
        },
        onDestroy: function () {
            $("#dg").datagrid(“reload”);
        }
    });

    dlg.dialog("open");
}

销毁Dialog的时候不管有没有reload“#dg”,都不行。

JQuery版本:1.8.3

easyui版本:1.3.2

问题补充:

补充一点,FireBug报的错如下

跟踪了一下,_580是“expandRow”

expandRow应该是datagrid里的方法,第一次加载的时候相关的JS引用进去了,但是之后的操作只是弹出一个窗口然后关闭销毁,这样就找不到expandRow这个方法了。。。???

Vincent Zheng的主页 Vincent Zheng | 初学一级 | 园豆:125
提问于:2013-12-17 15:00
< >
分享
所有回答(1)
0

问题解决了,在销毁Dialog的时候重新加载datagrid-detailview.js, 但是还是想不通为什么datagrid-detailview.js会丢失,还望哪位大神赐教,谢谢了

Vincent Zheng | 园豆:125 (初学一级) | 2013-12-17 17:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册