easyUI——自定义操作列

项目中遇到一个问题:在easyUI的datagrid中增加一列为操作列。官网的demo中没有给出具体的解决问题的方法。解决的思路就是利用单元格的属性formatter中添加内容。

HTML

分为两个部分,前面的部分是表格代码,后面的部分是明细弹出框。

    @*datagrid表格*@
    <table id="dg" title="My Users" class="easyui-datagrid" style="width:700px;height:250px"
            url="GetUserData"
            toolbar="#toolbar" pagination="true"
            rownumbers="true" fitColumns="true" singleSelect="true">
        <thead>
            <tr>
                <th field="UserId" width="50">用户ID</th>
                <th field="UserName" width="50">用户名</th>
                <th field="CouserName" width="50">课程名</th>
                <th data-options="field:'CouserId',align:'center',width:85, formatter:operate">查看明细</th>
            </tr>
        </thead>
    </table>

    @*明细弹出框*@
    <div id="dlg" class="easyui-dialog" style="width:400px;height:280px;padding:10px 20px"
            closed="true" buttons="#dlg-buttons">
        <div class="ftitle">User Information</div>
        <form id="fm" method="post" novalidate>
            <div class="fitem">
                <label>UserId:</label>
                <input name="UserId" class="easyui-textbox" required="true">
            </div>
            <div class="fitem">
                <label>UserName:</label>
                <input name="UserName" class="easyui-textbox" required="true">
            </div>
            <div class="fitem">
                <label>CouserId:</label>
                <input name="CouserId" class="easyui-textbox">
            </div>
            <div class="fitem">
                <label>CouserName:</label>
                <input name="CouserName" class="easyui-textbox" validType="email">
            </div>
        </form>
    </div>
    <div id="dlg-buttons">
        <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="saveUser()" style="width:90px">Save</a>
        <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')" style="width:90px">Cancel</a>
    </div>

formatter属性添加operate函数

operate()函数中有三个参数,value指当前单元格的值,row,当前行对象,index是选中这一行的索引。

        function operate(value, row, index) {
            return '<a href="#" onclick="editUser('+index+')">查看明细</a>';
        }

给具体的js editUser函数添加具体的操作

        var url;
        function editUser(index) {
            $('#dg').datagrid('selectRow', index);
            var row = $('#dg').datagrid('getSelected');
            if (row){
                $('#dlg').dialog('open').dialog('setTitle','Edit User');
                $('#fm').form('load',row);
                url = '';
            }
        }

效果截图

总结

对于easyui的使用拓展,怎么能从官网给的demo中拓展新的功能,是一件非常有意思的事情。

时间: 2024-10-27 12:04:09

easyUI——自定义操作列的相关文章

easyui datagrid自定义按钮列,即最后面的操作列

在很多时候我们要在表格的最后添加一列操作列,easyUI貌似没有提供种功能,不过没关系,我们可以自定义来实现首先是HTML部分 <table id="tt" class="easyui-datagrid" style="width:100%;height:554px"             singleSelect="false"              fitColumns="true"    

Easyui 自定义列 添加按钮 样式问题

开始想在easyui的datgrid中添加一列操作列,这一列的内容全部是按钮,方便显示详细信息. 添加完成之后,发现按钮的样式有问题,即使我把a标签的class属性和plain属性设置成和页面上一样,结果还是没有起作用. 开始的部分代码: onLoadSuccess:function(data){ }, idField:'userId', columns:[[ {field:'ck',width:5,checkbox:true}, {field:'userId',title:'用户id',wid

关于如何在使用easyui的时候添加一个操作列的问题

首先分为不同的情况:在这里只介绍使用的是datagrid数据网格的列属性来添加操作列的方法: 就是跟普通的列属性的使用时一样的,当我们要想在每一行都增加一个操作列的时候就需要增加一个列属性:代码如下: {field:'operate',title:'操作',align:'center',width:$(this).width()*0.1,                formatter:function(value, row, index){                    var st

easyui datagrid的列编辑

[第十五篇]easyui datagrid的列编辑,同时插入两张表的数据进去 看图说话. 需求:插入两张表,上面的表单是第一张表的内容,下面的两个表格是第二张详情表的内容,跟第一张表的id关联 第二张表有一个列是需要用户手动填写添加的. 国际惯例,上代码 <div id="cc" class="easyui-layout" style="width: 100%; height: 380px;"> <div data-option

SharePoint 2013 开发——开发自定义操作APP

?博客地址:http://blog.csdn.net/FoxDave 自定义操作即我们所说的Ribbon和ECB(Edit Control Block),在SharePoint 2013之前,我们可以通过在解决方案中添加XML元素来实现创建自定义Ribbon和ECB,到了2013时代,利用APP也可以做类似的事情了,接下来我们看看如何利用APP来创建列表条目的自定义操作. 除了一些细节上的配置项,创建SharePoint APP项目跟之前提到的基本一样.列表条目信息通过查询字符串传递到外部的托管

jeecg3.5中为dgCol标签增加自定义格式化列中的数值的功能

jeecg3.5中只有formatter属性,只支持格式化时间格式的数据,不支持自定义格式化列中的值的功能,比如想把列中的的一个int或long型的值除以100转成float或doulbe值,jeecg3.5版本就不支持类似customFormatter这样属性,本文为jeecg3.5增加这个功能,主要修改的代码如下: org.jeecgframework.tag.core.easyui.DataGridColumnTag //51行  private String customFormatte

关于在SharePoint 2013(2010)中Javascript如何实现批量批准的自定义操作功能?

1.概述: SharePoint 2013(包括SharePoint 2010)提供了很方便的,多选的界面,但是很多操作还是不能批量进行,比如:批准的功能.如果您要解决方案不关心代码,那么请直接联系作者.如果您对技术感兴趣,那么下面的组合拳就是告诉你如何在2013的Ribbon的工具栏上实现这个小功能,整个实验必须要有SPD(SharePoint Designer 2013),要使用到Javascript的很多知识.作者完全从实际出发,应对了在这个过程中可能出现的各种各样的"状况",比

SharePoint 2013 Designer 自定义操作菜单

众所周知,我们在SharePoint的二次开发中,经常会添加ECB菜单或者Ribbon菜单,通常我们会采取Feature的方式去添加一个Xml,或者采取JavaScript的方式,当然,除此之外,还可以利用Designer添加这些自定义操作,而且更加方便:但是,这种操作还是有缺点的,就是只能添加链接(目前我只发现能添加链接). 内容很简单,截图加描述的方式分享给大家,希望对有需要的人有个参考,呵呵. 1.打开列表,切换选项卡到列表设置,如下图: 2.创建一个ListItem Menu,填写Nam

easyui 自定义验证,动态设置提示信息

//自定义验证规则 名称为name //$.fn.validatebox.defaults.rules.name.message 动态自定义提示内容 $.extend($.fn.validatebox.defaults.rules, { name: { validator: function (value, param) { var error=false;; if(!/^\S{4,25}$/.test(value)){ //4-25验证 $.fn.validatebox.defaults.ru