birt 动态数据源

有两种方法
1.date set编辑器中有property binging的属性,的query Text输入

var query = " select d.*,u.name_ from deal_ d,user_ u ,server_ s where s.id_=u.server_id_ and u.id_=d.user_id_ and d.deal_time between ? and ?";   
if(params["serverId"].value != null){   
        query += " and s.id_ = '" + params["serverId"].value + "'";   
}   
    this.text = query;



2.利用script,在data set的before open事件中 (必须选中左边的dataset后)

var query = " select d.*,u.name_ from deal_ d,user_ u ,server_ s where s.id_=u.server_id_ and u.id_=d.user_id_ and d.deal_time between ? and ?";   
var serverId= reportContext.getParameterValue("serverId");   
if(serverId!= null){   
   query += " and s.id_ = " + serverId;    
}   
this.queryText = query; 



上面的情况下必须在dataset里的Parameters里设置startTime 和endTime
serverId不要在dataset里的Parameters设置,但是要在Report parameters设置

你可能感兴趣的:(java)