2017-01-17 28 views
0

私は最初の100行をデータベースから取得し、10000行を残しています。私はDatatableに動的に追加しようとしています。私は以下の方法で試しています。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

変数は文字列にすることはできません。それは配列である必要があり、JSコードでそれを使用する必要があります。 JSPであなたのコードは、ちょうどその気持ちを取得しています。 –

+0

ありがとうございました。 js関数table.row.add()を呼び出すことは可能ですか?サーブレットで? – techhunter

+0

番号。 JSPでは、配列オブジェクトをscrippletタグ<% %> に用意して、この配列をJS関数で使用する必要があります。 JSPとJSのコードが混在しているようです。 –

答えて

0

ビット不十分な情報を検索します。あなたの配列はすでに配列か多分多次元配列です。 以下のいずれかを試してみてください。

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

OR

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

こんにちは、ありがとうフィオリーあなたの迅速な応答。私は両方を試みました:table.row.add(a).draw(false); ptints:fisrt行とtable.row.add(a [0])の

関連する問題