以前,用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. 关于ListView中EditText在软键盘弹出后的焦点问题

    转自:http://www.cnblogs.com/haofei/p/3305030.html 在ListView中,每次弹出软键盘后就会重新调用getView()方法,导致EditText失去焦点. ...

  2. NOI.AC NOIP模拟赛 第五场 游记

    NOI.AC NOIP模拟赛 第五场 游记 count 题目大意: 长度为\(n+1(n\le10^5)\)的序列\(A\),其中的每个数都是不大于\(n\)的正整数,且\(n\)以内每个正整数至少出 ...

  3. zoj 3204 最小生成树,输出字典序最小的解

    注意排序即可 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring ...

  4. 2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6(8/13)

    2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6 比赛连接: http://codeforces.com/gym/101124/ ...

  5. 关于MongoDB时区问题

    由于MongoDb存储时间按照UTC时间存储的,其官方驱动MongoDB.driver存储时间的时候将本地时间转换为了utc时间,但它有个蛋疼的bug,读取的时候非常蛋疼的是返回的是utc使时间.一个 ...

  6. oracle sql 高级

    1  时间   如果是从当前时间到前一个月的这个时候之间的记录总条数:   select count(1)   from uis_md_stcustom u  where firsttime betw ...

  7. OpenAI Gym

    https://blog.openai.com/openai-gym-beta/ https://openai.com/

  8. Cloud Foundry中DEA启动应用实例时环境变量的使用

    在Cloud Foundry v2中,当应用用户须要启动应用的实例时.用户通过cf CLI向cloud controller发送请求,而cloud controller通过NATS向DEA转发启动请求 ...

  9. 使用 MVVMLight 绑定数据(转)

    MVVMLight绑定数据示例 好了,我们在新建了两个项目,分别是“MVVMLight的主程序” 与  “Model层”,运行的效果及解决方案结构如下: 其实很简单,就是绑定了一个数据源而已,编写的代 ...

  10. 线程、线程ID获取

    一.进程ID获取 1.1  当前进程的Id 方法1 通过进程名获取 下面的例子中,也包含了获取该进程下的线程的方法. System.Diagnostics.Process[] processes:bo ...