jqGrid几个需要注意的默认设置

jqGrid中的option属性设置中,几乎每个属性都会给出默认值,然而,有些默认值实在有些坑爹,导致在使用过程中,如果没有注意到而使用了默认值,就会出现一些问题。

height:是指jqGrid表格的高度,可以设置为auto,像素值或者百分比。默认为150px,为固定值,并且不会随着父容器的改变而变化,这样就导致在使用的时候,会出现表格高度不可变的情况。一般情况下,都要重新设置这个值。

rowNum:是指在jgGrid上一次性最多显示记录的条数。默认值为20,也就是说最多显示20条记录,即使服务器返回了30条记录,也只有20条被加载。通常都要重新设置,如果设置成0那么jqgrid不会显示任何数据。如果设置为-1则显示后台返回的所有记录,在是则一条规则在最新的API文档中删除了。

详情查看jqgrid的API,http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options


会不断补充



### 解决 jqGrid 中多个空格只显示为一个空格的问题 在 HTML 和浏览器渲染过程中,默认情况下,多个连续的空白字符会被压缩成一个空格。这不仅限于 jqGrid 的情况,在任何 HTML 文本节点中都会发生这种现象。为了处理这种情况并保留多个空格,有几种方法可以在 jqGrid 中实现。 #### 方法一:使用 ` ` 实体替代空格 通过将数据中的普通空格替换为不间断空格实体 (` `) 可以有效防止浏览器折叠多余的空间。当从服务器获取到的数据准备展示前,可以通过 JavaScript 对字符串进行预处理: ```javascript // 假设 data 是要加载的一行记录数组之一 data.note = data.note.replace(/ /g, ' '); ``` 这种方法简单易行,但需要注意的是每次更新或重新加载网格时都需要执行此操作[^1]。 #### 方法二:设置 CSS 属性 white-space 另一种更通用的方法是在定义列模型 (colModel) 时应用特定样式来控制单元格内的空白符行为。具体来说就是给相应的 td 元素加上 `white-space: pre-wrap;` 或者其他合适的值: ```css /* 添加全局样式 */ .ui-jqgrid tr.jqgrow td { white-space: pre-wrap; } ``` 这种方式的好处在于它不需要修改原始数据本身,并且对于整个表格都生效[^2]。 #### 方法三:自定义 formatter 函数 如果希望针对某些特殊字段单独处理,则可以考虑编写自定义格式化函数 (formatter),该函数会在渲染指定列的内容之前被调用。在这个函数内部可以根据需求调整输出内容,比如保持原有空格数量不变等。 ```javascript $("#list").jqGrid({ colModel:[ {name:'note', index:'note', width:90, sortable:false, formatter:function(cellvalue,options,rowObject){ return cellvalue ? cellvalue.replace(/\s/g,' ') : ''; } }, // ... other columns ... ] }); ``` 上述三种方案都可以有效地解决 jqGrid 显示多空格的问题,选择哪种取决于实际应用场景和个人偏好[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值