以前,用easyui的datagrid,有时候会用到一些操作选项,比如代码如下:

  1. $('#datagrid').datagrid({
  2. border:false,
  3. fitColumns:true,
  4. singleSelect: true,
  5. url:url,
  6. columns:[[
  7. {field:'projectname',title:'应用名',width:80},
  8. {field:'projectpackage',title:'应用包名',width:25}
  9. {field:'opt',title:'操作',width:50,align:'center',
  10. formatter:function(value,rec){
  11. var btn = "<a class='editcls' onclick='editRow('"+rec.projectname+"','"+rec.projectpackage+"')' href='javascript:void(0)>'编辑</a>";
  12. return btn;
  13. }
  14. }
  15. ]]
  16. });
$('#datagrid').datagrid({
border:false,
fitColumns:true,
singleSelect: true,
url:url,
columns:[[
{field:'projectname',title:'应用名',width:80},
{field:'projectpackage',title:'应用包名',width:25}
{field:'opt',title:'操作',width:50,align:'center',
formatter:function(value,rec){
var btn = "<a class='editcls' onclick='editRow('"+rec.projectname+"','"+rec.projectpackage+"')' href='javascript:void(0)>'编辑</a>";
return btn;
}
}
]]
});

这个代码的效果就是最后一列显示一个链接,点击链接触发编辑事件,把两个参数传进去编辑。

后来,发现了问题,就是,当变量中含有空格时,html的解析会导致该事件失败,浏览器会自动补全双引号,空格导致了页面中""部分把双引号解析错误了。之后,一个同事说他写这种代码,一般按照正常的html规则来写,就不会出错了,也就是,html页面中出现双引号的部分就用双引号,于是,我写js引号的风格也就改成了用单引号来当做字符串的引号。修改后代码如下:

  1. $('#datagrid').datagrid({
  2. border:false,
  3. fitColumns:true,
  4. singleSelect: true,
  5. url:url,
  6. columns:[[
  7. {field:'projectname',title:'应用名',width:80},
  8. {field:'projectpackage',title:'应用包名',width:25}
  9. {field:'opt',title:'操作',width:50,align:'center',
  10. formatter:function(value,rec){
  11. var btn = '<a class="editcls" onclick="editRow(\''+rec.projectname+'\',\''+rec.projectpackage+'\')" href="javascript:void(0)">编辑</a>';
  12. return btn;
  13. }
  14. }
  15. ]]
  16. });
$('#datagrid').datagrid({
border:false,
fitColumns:true,
singleSelect: true,
url:url,
columns:[[
{field:'projectname',title:'应用名',width:80},
{field:'projectpackage',title:'应用包名',width:25}
{field:'opt',title:'操作',width:50,align:'center',
formatter:function(value,rec){
var btn = '<a class="editcls" onclick="editRow(\''+rec.projectname+'\',\''+rec.projectpackage+'\')" href="javascript:void(0)">编辑</a>';
return btn;
}
}
]]
});

再之后,觉得把链接改成用easyui的按钮会好一些,就找了各种办法,最后发现,只要把按钮部分的html代码用js初始化就可以得到按钮了,代码如下:

  1. $('#datagrid').datagrid({
  2. border:false,
  3. fitColumns:true,
  4. singleSelect: true,
  5. url:url,
  6. columns:[[
  7. {field:'projectname',title:'应用名',width:80},
  8. {field:'projectpackage',title:'应用包名',width:25}
  9. {field:'opt',title:'操作',width:50,align:'center',
  10. formatter:function(value,rec){
  11. var btn = '<a class="editcls" onclick="editRow(\''+rec.projectname+'\',\''+rec.projectpackage+'\')" href="javascript:void(0)">编辑</a>';
  12. return btn;
  13. }
  14. }
  15. ]],
  16. onLoadSuccess:function(data){
  17. $('.editcls').linkbutton({text:'编辑',plain:true,iconCls:'icon-edit'});
  18. }
  19. });
$('#datagrid').datagrid({
border:false,
fitColumns:true,
singleSelect: true,
url:url,
columns:[[
{field:'projectname',title:'应用名',width:80},
{field:'projectpackage',title:'应用包名',width:25}
{field:'opt',title:'操作',width:50,align:'center',
formatter:function(value,rec){
var btn = '<a class="editcls" onclick="editRow(\''+rec.projectname+'\',\''+rec.projectpackage+'\')" href="javascript:void(0)">编辑</a>';
return btn;
}
}
]],
onLoadSuccess:function(data){
$('.editcls').linkbutton({text:'编辑',plain:true,iconCls:'icon-edit'});
}
});

主要就是在onLoadSuccess做的初始化工作,就可以显示出按钮的效果了。

easyui datagrid列使用按钮的一些心得 .的更多相关文章

  1. easyui datagrid列使用按钮的一些心得(转)

    http://blog.csdn.net/sskicgah/article/details/16939959 以前,用easyui的datagrid,有时候会用到一些操作选项,比如代码如下: $('# ...

  2. easyui datagrid 列隐藏和显示

    easyui datagrid 列隐藏和显示 用js怎么控制列的显示和隐藏?   最佳答案   $('#grid').datagrid('hideColumn','列field');把hideColu ...

  3. js控制easyui datagrid列的显示和隐藏

    easyui datagrid 列隐藏和显示 $('#grid').datagrid('hideColumn','列field'); //把hideColumn换成showColumn 即为显示列

  4. easyui datagrid 列拖拽

    首先easyui 它有提供了拖拽的功能Draggable,那我们就可以想 拖拽标题头到另外的标题头上面我们就对datagrid的columns重新绑定一次 并刷新datagrid这个功能不就行了? & ...

  5. 让jquery easyui datagrid列支持绑定嵌套对象

    嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...

  6. easyui datagrid 列的内容超出所定义的列宽时,自动换行

    定义表单  nowrap="false"可以使得列中的内容超出所定义的列宽是就会自动换行pagination : true, // 当true时在DataGrid底部显示一个分页工 ...

  7. easyUI datagrid 列宽自适应(简单 图解)(转)

    响应数据格式: easyUI在html代码中结构: 发现了什么没有,我们的表头其实是一个td在td中有一个属性field那么我们就可以获得了; 以下就是自适应代码: //添加事件 function c ...

  8. easyui datagrid 列显示和隐藏

    //当查询IT基础设施的时候隐藏'STAFF_ID'.'ITSM_STAFF_ID' if($("input[name='currentstate']").val()==2){ $ ...

  9. easyui datagrid列中使用tooltip

    要实现这样一个效果:数据加载到DATAGRID中,鼠标移至某一列时,会弹出tooltip提示框. 最初的实现方法: { field: 'Reply', title: '备注', width: 220, ...

随机推荐

  1. Spring重复扫描导致事务失败的解决方案及深入分析

    问题及日志使用Spring和mybatis,然后配置事务,出现SqlSession was not registered for synchronization because synchroniza ...

  2. Typecho-Material主题不支持Kotlin代码高亮的解决方案

    Typecho-Material主题不支持Kotlin代码高亮的解决方案 Overview 最近通过Typecho搭建了一个Blog,采用了 Material主题,其他的都挺好,也挺喜欢这个主题,但是 ...

  3. 数据包编辑工具bittwiste

    数据包编辑工具bittwiste   bittwiste是数据包重放工具bittwist的一个工具.该工具可以编辑修改PCAP抓包文件.该工具提供数据包过滤功能,如根据范围和时间过滤.同时,该工具支持 ...

  4. [BZOJ3585]mex(莫队+分块)

    显然可以离线主席树,这里用莫队+分块做.分块的一个重要思想是实现修改与查询时间复杂度的均衡,这里莫队和分块互相弥补. 考虑暴力的分块做法,首先显然大于n的数直接忽略,于是将值域分成sqrt(n)份,每 ...

  5. BZOJ.2882.工艺(后缀自动机 最小表示 map)

    题目链接 BZOJ 洛谷 SAM求字符串的最小循环表示. 因为从根节点出发可以得到所有子串,所以每次找字典序最小的一个出边走即可.因为长度问题把原串再拼接在后面一次. 需要用map存转移.复杂度O(n ...

  6. sqlserver -- 查看当前数据库的数据表(备忘)

    @_@||... 记性不好,备忘... 语句功能:查看当前数据库的所有表(根据所需,进行语句改写即可) SELECT * FROM sysobjects WHERE (xtype = 'U') 备注: ...

  7. Ulipad安装、配置使用教程(附Ulipad下载)

    一.安装Ulipad 因为ulipad编辑器使用的是wxpython编写的gui,所以我们需要第三方库wxpython的支持,这里我们先讲一下Ulipad在Windows系统环境下的安装: 1. 确实 ...

  8. Meta对照表

    Http Content_type对照表: 文件扩展名 Content-Type(Mime-Type) 文件扩展名 Content-Type(Mime-Type) .*( 二进制流,不知道下载文件类型 ...

  9. CentOS 7设置KVM硬盘模式为SCSI

    找到一下节点,把target节点的dev改成s开头,bus改成scsi即可,并删除address节点: 以此内推,如果要修改为ide需要修改dev为h开头,bus改成ide. 参考: https:// ...

  10. js获取鼠标点击事件的相对位置

    <html><head><title>位置</title><script language="javascript" type ...