天天看点

问题记录0001

1.input文本输入框在做数据回显时,如果对应的回显数据是数字类型且数字的长度超过六位时,就会以科学计数法的方式来显示。这时文本框如果做了只能输入数字的校验的话(科学计数法在校验时会被视为非数字类型),就无法再次将其进行保存。为了让回显数据正常显示,需要对要回显的数据格式化一下:

  在这里使用了jstl的formatnumber来对数字进行了格式化。

   <td class="showname">金额(元):</td>

   <fmt:formatnumber value ="${tzi.bal}" pattern="#0.00" var="bal"/>

   <td class="showvalue"><input type="text" name="bal" value="${bal}"/></td>

2.使用jqgrid单元格编辑的功能时,遇见一个问题:

      就是当修改完某一个单元格的内容后直接进行保存操作,由于修改后的数据未保存到本地table中,在保存时无法保存修改后的值(还有一种情况 : 会使原数据丢失,而导致字段为空)。所以要先设法使被编辑的单元格失去焦点,修改后的数据即可保存到本地table中。

      解决方法就是:当点击保存按钮后,首先让第一个字段获取焦点(或者任意一个不可编辑的字段获取焦点),这样数据就会得到保存,然后再在进行保存操作就会成功。

     $("#gridtable").editcell(1, 0, true);

     注:这里由于我的第一个字段为不可编辑,所以在保存时就让它获得焦点,以使编辑的单元格失去焦点,将修改后的值保存到本地table中。在这里值得注意的是jqgrid的行是从1开始的,而列是从0开始的。