最近在使用jqgrid给单元格赋值时发生一个诡异的问题,grid.jqGrid(‘setCell’, rowId, colName, ‘’),给单元格赋空值居然无效。查看jqgrid源码后,给单元格赋值需要注意,请使用如下两个方法:
1)grid.jqGrid(‘setCell’, rowId, colName, ’ ') // 赋值 空格
2)grid.jqGrid(‘setCell’, rowId, colName, ‘’, ‘’, ‘’, true) // 带上强制刷新标记

1、 setCell函数说明

setCell : function(rowid,colname,nData,cssp,attrp, forceupd)

  • rowid:行号
  • colname:列名
  • nData:单元格值
  • cssp:单元格class
  • attrp:单元格属性值
  • forceupd:boolean, 强制刷新标记

nData !== “” || forceupd === true 时,才会更新单元格值

2、案例说明

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8" /><title>jggrid-setcell</title><link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" /><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.5.0/css/font-awesome.min.css" /><link rel="stylesheet" href="https://cdn.bootcss.com/jqueryui/1.11.0/jquery-ui.min.css" /><link rel="stylesheet" href="https://js.cybozu.cn/jqgrid/v5.3.1/css/ui.jqgrid.css" /><script src="https://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script><script src="https://js.cybozu.cn/jqgrid/v5.3.1/js/jquery.jqGrid.min.js"></script><script src="https://js.cybozu.cn/jqgrid/v5.3.1/js/i18n/grid.locale-en.js"></script>
</head>
<body>
<div class="page-content container"><div class="page-head" style="padding: 15px 0"> <!-- page-head --><button type="button" class="btn btn-sm" onclick="getBills()">加载数据</button><button type="button" class="btn btn-sm" onclick="setCell1()">setCell1</button><button type="button" class="btn btn-sm" onclick="setCell2()">setCell2</button><button type="button" class="btn btn-sm" onclick="setCell3()">setCell3</button></div><!-- page-head --><div class="page-body"> <!-- page-body --><div class="panel panel-default" id="panel-orders"><table id="orders"></table></div></div>
</div><script type="text/javascript">var $grid = $("#orders");function getBills() {var rowCount = 20;var data = [];for (var i = 0; i < rowCount; i ++) {data.push({sid: i,bill_id: i,bill_detail: i,goods_id: i,unit_id: i,package_id: i,ref_detail: i,goods_no: i + 1,goods_name: '零件名称' + rowCount + i,car_type_name: '车型' + rowCount + i,package_name: '包装器具' + rowCount + i,unit: i%2==0 ? '件' : '箱',snp: 0.89,box_count: rowCount + i,total_count: rowCount + i,goods_count: rowCount + i,out_count: rowCount + i,bill_no: 'BN0000000' + i,})}$grid.jqGrid("clearGridData");$grid.jqGrid('setGridParam',{data: data || []}).trigger('reloadGrid');}function setCell1() {var rowId = $grid.jqGrid('getGridParam', 'selrow');if(!rowId) {alert('请先选中行'); return;}$grid.jqGrid('setCell', rowId, "unit", "");}function setCell2() {var rowId = $grid.jqGrid('getGridParam', 'selrow');if(!rowId) {alert('请先选中行'); return;}$grid.jqGrid('setCell', rowId, "unit", " ");}function setCell3() {var rowId = $grid.jqGrid('getGridParam', 'selrow');if(!rowId) {alert('请先选中行'); return;}$grid.jqGrid('setCell', rowId, "unit", "", "cellcell", "", true);}$(function() {$grid.jqGrid({colModel: [{label: "零件号", name: "goods_no", width: 60},{label: "零件名称", name: "goods_name", width: 180},{label: "车型", name: "car_type_name", width: 70},{label: "包装器具", name: "package_name", width: 70},{label: "单位", name: "unit", width: 60},{label: "装箱率", name: "snp", width: 50, sorttype: "number"},{label: "箱数", name: "box_count", width: 40, sorttype: "number"},{label: "需求总数", name: "total_count", width: 70, sorttype: "number"},{label: "需求数量", name: "goods_count", width: 70,},{label: "出库数量", name: "out_count", width: 70, sorttype: "number"},{label: "订单号", name: "bill_no", width: 120},],datatype: 'local',rownumbers: true,height: 300,rowNum: 1000,cellEdit: true,cellsubmit: 'clientArray'});});
</script>
</body>
</html>

代码说明:

1)按钮setCell1

给单元格赋空字符串,无效:

$grid.jqGrid('setCell', rowId, "unit", "");
2)按钮setCell2

给单元格赋空格,有效:

$grid.jqGrid('setCell', rowId, "unit", " ");
3)按钮setCell3

给单元格赋空字符串并带上forceupd标记,有效:

$grid.jqGrid('setCell', rowId, "unit", "", "cellcell", "", true);

jqgrid setCell 单元格赋值空字符串 无效处理相关推荐

  1. excel 某个单元格不是等于空值_excel 单元格为空与不存在

    Q3:Excel单元格为空怎么表示啊 一.在EXCEL中判断单元格是否为空单元可以用ISBLANK函数,也可以用某单元格是否=""来进行判断. 比如要判断A1单元格是否为空单元格, ...

  2. vba字典合并单元格为空_VBA合并单元格求和处理套路

    在Excel中,合并单元格的使用会带来相当令人不爽的麻烦.但其使用率还是蛮高的. 如图,需要对部门的销售额做总计. Sub 樱桃小丸子() Dim arr, d As Object, i&, ...

  3. 在stringgrid的drawcell事件处理过程中,给单元格赋值时,要用textout输出,不要像一般给cell[i,j]赋值那样。

    在stringgrid的drawcell事件处理过程中,给单元格赋值时,要用textout输出,不要像一般给cell[i,j]赋值那样.

  4. html 单元格被撑开_表格单元格td设置宽度无效始终有内部的内容撑开

    摘要:这篇HTML栏目下的"表格单元格td设置宽度无效始终有内部的内容撑开",介绍的技术点是"表格单元格.设置宽度.宽度无效.单元格.单元.设置",希望对大家开 ...

  5. python向EXCEL添加一列数据或指定行列给单元格赋值

    import openpyxl# column名 column_title = ["FirstName", "LastName"]if __name__ == ...

  6. 给第一行单元格赋值WPS JS获取工作表的总行数WPS JS获取工作表的总行数

    戳我,了解更多相关办公的小技巧 给第一行单元格赋值 1.在计算机中有一种ASCII编码,其中A在计算机中的表示的数字是65,a的ascii码是97,b的ascii码是98. 2.从A1到F1可以看到第 ...

  7. 给第一行单元格赋值 + WPS JS获取工作表的总行数 + WPS JS获取工作表的总行数

    戳我,了解更多相关办公的小技巧 给第一行单元格赋值 1.在计算机中有一种ASCII编码,其中A在计算机中的表示的数字是65,a的ascii码是97,b的ascii码是98. 2.从A1到F1可以看到第 ...

  8. POI读取excel时,单元格内容转化字符串

    最近项目需要使用POI解析excel,但在获取每个单元格时,遇到了把单元格内容转为字符串过程中出现各种问题,整数类型后面带小数点.时间格式变为整数形式等等. 最后通过判断Cell的类型进行分别处理,话 ...

  9. python 如何判断excel单元格为空_如何用python处理excel(二)

    读取excel import xlrdworkbook=xlrd.open_workbook(r'C:\Users\Desktop\hebing\学生登记表.xls')sheet=workbook.s ...

最新文章

  1. 基础知识——列表简介(二)
  2. 来者不拒,“昊”课等你——直播微生物篇
  3. 用户控件制作时设计模式加载报错的解决办法
  4. java多线程之API初探(一)
  5. [TJOI2018]xor BZOJ5338 可持久trie
  6. React入门---react脚手架
  7. 嵌入式 说明书 软件著作权_软件著作权详细解读
  8. Linux 下面安装nodejs
  9. EXCEL2010经典用法全集(3)
  10. 云在天之南——我的七天七夜(率性苍山洱海)
  11. cocos2dx lua 打印和保存日志
  12. hello linux
  13. endnote插入参考文献
  14. 计算机 保护眼睛 颜色,教你把电脑屏幕设置成可以保护眼睛的颜色
  15. 传感器技术—湿敏电阻式传感器(学习笔记五)
  16. 无线路由器怎么显示远端服务器,路由器远端服务器无响应是怎么回事
  17. 2018最受欢迎数据采集20大产品产品名单出炉!
  18. 谈微信里的“养生“谣言
  19. vs程序出错运行上次的成功的exe
  20. coreldraw x4怎么写字_CorelDRAW实例:给文字排版的几个小技巧(4)

热门文章

  1. 在线订舱物流详情 广州力其
  2. 华为视频会议终端TE40配置
  3. RAID卡原理与设置
  4. SpringMVC从基础到源码
  5. logical_and(),logical_or(), logical_not(), logical_xor()用法详解
  6. php imap读取邮箱邮件信息
  7. javaweb之Html/Hss/JavaScript/BootStrap小结
  8. JavaScript代码具体是怎么引入到HTML中的?
  9. SystemVerilog学习-02-数据类型
  10. 信号完整性分析-笔记