我从db获取前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);
数据被收录为:['a','a','.........'],['d','d',.....]
他的格式。但收到的所有数据都在表格的fisrt栏中更新。任何人都可以向我提出任何想法或我正在做的任何错误吗?
更新:尝试如下:
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 :(得分:0)
看起来信息不足。你的a已经是一个数组或者很可能是多维数组。 因此,请尝试以下方法之一,如果有效,请告知我们。
table.row.add(a).draw( false );
OR
table.row.add(a[0]).draw( false );