以前,用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. [BZOJ3757]苹果树(树上莫队)

    树上莫队共有三种写法: 1.按DFS序列分块,和普通莫队类似.常数大,不会被卡. 2.按块状树的方式分块.常数小,会被菊花图卡到O(n). 3.按[BZOJ1086]王室联邦的方式分块.常数小,不会被 ...

  2. UOJ.179.线性规划(单纯形)

    题目链接 这写得还不错:http://www.cnblogs.com/zzqsblog/p/5457091.html 引入基变量\(x_{i+n}\),将约束\(\sum_{i=1}^m a_{ij} ...

  3. maven -- 问题解决(四)警告Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published

    警告:Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Run ...

  4. MySQL_事务没有提交导致 锁等待 Lock wait timeout exceeded

    java.lang.Exception:### Error updating database.  Cause: java.sql.SQLException: Lock wait timeout ex ...

  5. [原创]SOAPUI工具介绍

    [原创]SOAPUI工具介绍 一 官方网站:http://www.soapui.org/二 下载地址:http://sourceforge.net/projects/soapui/files/三 so ...

  6. C#中执行Dos命令

    //dosCommand Dos命令语句 public string Execute(string dosCommand) { ); } /// <summary> /// 执行DOS命令 ...

  7. PE Header and Export Table for Delphi

    Malware Analysis Tutorial 8: PE Header and Export Table 2. Background Information of PE HeaderAny bi ...

  8. Training JTAG Interface

    For most embedded CPU architecture implementations, the JTAG port is used by the debugger to interfa ...

  9. mui选择器和dom获取元素的区别(记得把mui对象转为dom对象才能调用用dom方法)

    <!DOCTYPE html><html> <head><meta charset="UTF-8"><meta name=&q ...

  10. 使用cat读取和echo写内核文件节点的一些问题

    span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }.CodeMirror ...