jQuery MiniUI

标题: grid 查看时弹出另一个页面 [打印本页]

作者: Decmond    时间: 2013-4-10 10:02:38     标题: grid 查看时弹出另一个页面

你好
     现有的grid都都是如图1,我想查看具体的信息,但不想把操作按键放在“#”中,通过点击员工帐号来弹出一个新页面。这个方法在这边如何实现
[attach]1553[/attach]
效果图:图2
[attach]1552[/attach]
谢谢


作者: factory    时间: 2013-4-10 11:01:02

可以的,你直接监听表格的cellclick事件
oncellclick="XXX"

function XXX(e){
    if(e.field == "loginname"){     //判断如果点击的是“员工账号”这一列
       var record = e.record;     //获取到的是整行的数据
       ......   //然后根据整行信息,弹出一个框,具体的做法跟按键放在“#”中一样了
    }
}
作者: Decmond    时间: 2013-4-10 16:01:36

factory 发表于 2013-4-10 11:01
可以的,你直接监听表格的cellclick事件
oncellclick="XXX"

没有用:
下面是我的代码;
jsp:
<div id="online" class="mini-datagrid" style="width:100%;height:280px;"
     url='<cut value="${onlineVewUrl}" escapeXml="false"/>' idField="DEPTCODE" allowResize="true"
     pageSize="20">
    <div property="columns">
        <div field="DEPTNAME" width="80" headerAlign="center"  align="center" allowSort="true" oncellclick="show">部门名称</div>
        <div field="COUNT" width="25" headerAlign="center"  align="center" allowSort="true">人数</div>
        <%--<div name="action" width="80" headerAlign="center" align="center" renderer="onActionRenderer"
             cellStyle="padding:0;">操作
        </div>--%>
    </div>
</div>

js :
function show(e) {
        if(e.fild=="DEPTNAME"){

            var record = e.record;
            var deptcode = record.DEPTCODE;
            alert(deptcode);
            if (row) {
                var readyInfoUrl =
                        '<c:url value='alone.portal'><c:param name=".pen" value="${model.entity.name}"/><c:param name=".pmn" value="view"/><c:param name=".f" value="${portletWindow.id}"/><c:param name="action" value="showView"/></c:url>&deptcode='+deptcode;
                    mini.open({
                    url: readyInfoUrl,
                    title: "查看", width: 452, height: 335,
                    onload: function () {
                        var iframe = this.getIFrameEl();
                        var data = { action: "ready", id: row.NUM};
                    }/*,
                    ondestroy: function (action) {
                        yshgrid.reload();
                    }*/
                });

            }
         }
    }
作者: factory    时间: 2013-4-10 16:35:54

Decmond 发表于 2013-4-10 16:01
没有用:
下面是我的代码;
jsp:

oncellclick 是表格事件,加在表格上面
<div class="mini-datagrid" oncellclick=......>
作者: Decmond    时间: 2013-4-10 17:02:16

factory 发表于 2013-4-10 16:35
oncellclick 是表格事件,加在表格上面

嗯 ,可以了。但还是存在不足,当鼠标移上去时,显示的还是箭头,如何显示手的形式和加个提示
作者: factory    时间: 2013-4-11 08:49:04

Decmond 发表于 2013-4-10 17:02
嗯 ,可以了。但还是存在不足,当鼠标移上去时,显示的还是箭头,如何显示手的形式和加个提示 ...

你可以直接参考上面的“#”列是如何把单元格内容做成<a>标签的,你也这样做,在单元格的内容上加个<a>或者span都可以,
比如把单元格内容渲染成
e.cellHtml="<span style='cursor:pointer'>"+XXX+"</span>"

这样你的鼠标滑到内容上之后,就是手指的样子了

单元格的渲染,参考:http://www.miniui.com/demo/#src=datagrid/drawcell.html





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