【项目经验】--EasyUI DataGrid之右键菜单


       前两天验收项目,老总提了一个不是需求的需求,为什么这么说呢?因为我们的管理不到位!话说当天,我们UI系统下发了一个总文件,上面写着“各个系统找一个没有添加UI的模块去添加最新版本UI进行测试”,然后过了一个多小时吧,我又从组长那接收到另一个通知“已经实现的系统模块就不要加新UI了”,然后,我就又吧没有完成的替换还原了。

       

       熟知,等到老总验收的当天,各个负责人的口径竟然变得不一致了,有的说强制要加,有的说部分要加,有的说因为出现问题就不要加,有的说等待通知,有的说……


       我就想说了,不就是一个右键吗?至于这样吗!可能因为我不是领导层,还体会不到那份辛酸……


后来组长下命令,要求“报表模块加上右键啊,多长时间能完成?”

我说“年前”

组长:“好!”


事实上,我只用了五分钟!

故事讲完了,下面个大家分享一下:


首先,如果我们没有使用已经封装的新版UI,那我们还是用我们的easyui的话,我们就要在html中设置按钮

<div id="menu" class="easyui-menu" style="width: 30px; display: none;">
      <!--放置一个隐藏的菜单Div-->
      <div id="btn_More" data-options="iconCls:'icon-remove'" onclick="MoreInfo()">更多</div>      
 </div>



然后呢?当然是写触发右键的js方法:

 <script type="text/javascript">
        $("#dt").datagrid({
            onRowContextMenu: function (e, rowIndex, rowData) { //右键时触发事件
                //三个参数:e里面的内容很多,真心不明白,rowIndex就是当前点击时所在行的索引,rowData当前行的数据
                e.preventDefault(); //阻止浏览器捕获右键事件
                $(this).datagrid("clearSelections"); //取消所有选中项
                $(this).datagrid("selectRow", rowIndex); //根据索引选中该行
                $('#menu').menu('show', {
                    //显示右键菜单
                    left: e.pageX,//在鼠标点击处显示菜单
                    top: e.pageY
                });
                e.preventDefault();  //阻止浏览器自带的右键菜单弹出
            }
        });

        //$('#btn_More').click(function () {
        //    MoreInfo();
        //})
    </script>

效果展示:



最后呢,把我们已经写好的方法连起来打通,就哦了!


       就这么点事,但是引出了我们管理上的重大问题,像米老师看起,要学会从高处看问题,那样才能边关全局。最后以我们的一句格言结束:“ 不谋万世者不足谋一时 不谋全局者不足谋一域


posted @ 2016-02-03 11:24  Double-Eggs  阅读(3393)  评论(0编辑  收藏  举报