Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将json对象分配给datatable?_Javascript_Json_Datatable - Fatal编程技术网

Javascript 如何将json对象分配给datatable?

Javascript 如何将json对象分配给datatable?,javascript,json,datatable,Javascript,Json,Datatable,通过查询,我通过setter方法匹配分配给对象的数据,并将每个对象添加到列表中,如何将其放入数据表中 这是我的java代码 try { ps=cn.prepareStatement(" select month_year,count(*),sum(booking_amount),count(distinct user_id) from DAILYBOOKINGREPORT2 where yearr=? group by month_year order by MONTH_YEAR DES

通过查询,我通过setter方法匹配分配给对象的数据,并将每个对象添加到列表中,如何将其放入数据表中

这是我的java代码

try {
    ps=cn.prepareStatement(" select month_year,count(*),sum(booking_amount),count(distinct user_id) from DAILYBOOKINGREPORT2 where yearr=? group by month_year order by MONTH_YEAR DESC");
    ps.setString(1,y);
    rs=ps.executeQuery();   
    while(rs.next())   
    {  
        String month_year="";
        int no_of_tickets=0,no_of_agents=0;
        float booking_amount=0;  
        int perDay_tickets=0;
        String s="";
        month_year=rs.getString(1);
        System.out.println(month_year);
        no_of_tickets=rs.getInt(2);
        booking_amount=rs.getFloat(3);
        no_of_agents=rs.getInt(4); 
        s= month_year.substring(4,6);
        int last_num=Integer.parseInt(s);

        if(last_num%2==0)
        {
            perDay_tickets= no_of_tickets/30;
        }    
        else{ 
            perDay_tickets= no_of_tickets/31;
        }

        MonthlyBeans obj=new MonthlyBeans();  
        // System.out.println("no of tickets"+no_of_tickets);
        // System.out.println("perday"+perDay_tickets); 
        float avg_pricing=booking_amount/ no_of_tickets;
        int per_agent=no_of_tickets/ no_of_agents;
        //System.out.println("avg"+avg_pricing); 
        //System.out.println("per agent"+per_agent);  
        obj.setMonth(month_year);  
        obj.setUnique_users( no_of_agents);
        obj.setNo_of_tickets(no_of_tickets);
        obj.setBooking_amount(booking_amount);
        obj.setPerAgent(per_agent);
        obj.setPerday(perDay_tickets);
        obj.setAvg_pricing(avg_pricing); 
        list.add(obj); 
    }    
    result = gson.toJson(list);  
}
我的json对象如下所示

Object
    No_of_tickets:  253
    avg_pricing  :1034.0747
    booking_amount:261620.89
    month:"201405"
    perday:15
    perAgent:16
    unique_users:15
这是我的html

<table class="table-striped table-bordered" id="tblData"">
    <thead >
        <tr>
            <th>month</th>
            <th>No_of_tickets</th>
            <th>booking_amount</th>
            <th>avg_pricing</th>
            <th>unique_users</th>
            <th>perday</th>
            <th>perAgent</th>  
        </tr>
    </thead>
</table>

请帮助我如何将该对象数据分配给DATATABLE?我无法执行此操作
响应。month
其他操作

Datatables使用数据绑定列。我假设响应是json对象的数组。 第一次你可以在这本书中找到一些解释

第二次绑定数据失败时。您可以搜索将第一列绑定到属性response.month。但您希望将其绑定到月份

我向您推荐此解决方案:

$('#tblData').dataTable({
    data : response,
    columns : [ 
        {'data' : "month" },
        {'data' : "No_of_tickets" },
        {'data' : "booking_amount" },
        {'data' : "avg_pricing" },
        {'data' : "unique_users" },
        {'data' : "perday" }
    ]
});
我希望这能帮助你


NB:您可以管理。如果您需要、排序、分页或其他操作,它将非常有用。

谢谢。它对我有效,但在选择时发送Ajax请求,对于第一个选择,它只对第二个选择有效,它给出错误“DataTables警告:table id=tblData-无法重新初始化DataTable。有关此错误的详细信息,请参阅'
$('#tblData').dataTable({
    data : response,
    columns : [ 
        {'data' : "month" },
        {'data' : "No_of_tickets" },
        {'data' : "booking_amount" },
        {'data' : "avg_pricing" },
        {'data' : "unique_users" },
        {'data' : "perday" }
    ]
});