2017-01-17 66 views
0

我正在從數據庫中獲取前100行並休息10000行我試圖動態地添加到數據表。我正在嘗試下面的方式。將動態行添加到Datatable

pgreq.onreadystatechange = function() { 

     if ((pgreq.readyState == 4) && (pgreq.status == 200)) { 

           var a=pgreq.responseText; 
           alert(a); 
           table.row.add([a]).draw(false); 
          } 
         } 

,並從服務器端數據,這裏收到:

String a="['"+rs2.getString("I_CODE")+"','"+rs2.getString("I_NAME")+"','"+rs2.getString("UNIT")+"','"+rs2.getInt("NET_AVL_QTY")+"','"+rs2.getInt("ONHAND")+"','" 
     +rs2.getInt("INTRNS_SL_QTY")+"','"+rs2.getInt("INTRNS_RT_QTY")+"','"+rs2.getInt("GIT")+"','"+ATP+"','"+rs2.getInt("I_MIN_QTY")+"','"+rs2.getInt("I_MAX_QTY")+"','" 
     +rs2.getInt("I_ROL")+"','"+rs2.getInt("AVG_COST")+"','"+rs2.getInt("LAST_PO_PRICE")+"','"+rs2.getString("V_CODE")+"','"+rs2.getString("MAIN_VENDOR") 
     +"','"+rs2.getString("VTYPE")+"','"+rs2.getInt("V_MAX_LDTM")+"','"+rs2.getInt("CASHPRICE")+"','"+rs2.getInt("CREDITPRICE")+"','"+rs2.getString("ALTER_CODE")+"'],"; 

out.println(a); 

數據recived爲:['a','a','.........'],['d','d',.....]他的格式。但所有收到的數據都在表的最後一列中更新。任何人都可以向我暗示我有任何想法或我正在做的任何錯誤?

更新:嘗試如下:

out.println("<script type=\"text/javascript\">"); 
    String a="table.row.add(['"+rs2.getString("I_CODE")+"','"+rs2.getString("I_NAME")+"','"+rs2.getString("UNIT")+"','"+rs2.getInt("NET_AVL_QTY")+"','"+rs2.getInt("ONHAND")+"','" 
      +rs2.getInt("INTRNS_SL_QTY")+"','"+rs2.getInt("INTRNS_RT_QTY")+"','"+rs2.getInt("GIT")+"','"+ATP+"','"+rs2.getInt("I_MIN_QTY")+"','"+rs2.getInt("I_MAX_QTY")+"','" 
      +rs2.getInt("I_ROL")+"','"+rs2.getInt("AVG_COST")+"','"+rs2.getInt("LAST_PO_PRICE")+"','"+rs2.getString("V_CODE")+"','"+rs2.getString("MAIN_VENDOR") 
      +"','"+rs2.getString("VTYPE")+"','"+rs2.getInt("V_MAX_LDTM")+"','"+rs2.getInt("CASHPRICE")+"','"+rs2.getInt("CREDITPRICE")+"','"+rs2.getString("ALTER_CODE")+"']).draw(false);"; 
    out.println(a); 

    out.println("</script>"); 

輸出收到爲:

<script> 
table.row.add(['a','a',......]).draw(false); 
table.row.add(['b','b',......]).draw(false); 
</scrip> 
+0

變量a不能是字符串。它需要是一個數組,然後你需要在JS代碼中使用它。你的代碼是在JSP中,只是得到了這種感覺。 –

+0

謝謝你的迴應。是否可以調用js function table.row.add();在servlet中? – techhunter

+0

沒有。在JSP中,您應該在scriplet標記<% %> 中準備數組對象,然後在您的JS函數中使用此數組。 看起來你在混合使用JSP和JS代碼。 –

回答

0

看起來有點信息不足。你的a已經是一個數組或者很可能是多維數組。 因此,請嘗試以下方法之一,讓我們知道這是否有效。

table.row.add(a).draw(false); 

OR

table.row.add(a[0]).draw(false); 
+0

嗨,感謝您的快速回復。我已經嘗試了兩個:table.row.add(a).draw(false); ptints: