天天看點

問題記錄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開始的。