...
在控件向服务器请求数据之前,通过脚本动态修改查询参数,实现特殊的查询需求
【示例】
Code Block | ||
---|---|---|
| ||
//浏览器控制台打印出query,这个变量是控件提交给服务器的查询参数,可以通过修改query里面的条件实现特殊查询 console.log(query); var endDateStr = null; var endDateIndex = -1; //找出过滤条件中的日期 for(var i = 0; i < query.filterKeys.length; i++){ if(query.filterKeys[i] === "日期"){ //这里请将日期修改为相应的字段名 endDateStr = query.filterValues[i]; endDateIndex = i; break; } } //将原来的 日期='2019-10-xx' 删除,增加 日期<='2019-10-xx'和日期>='2019-10-01' if(endDateStr != null){ query.filterKeys.splice(endDateIndex, 1); query.filterValues.splice(endDateIndex, 1); var fromDateStr = endDateStr.substr(0,7)+"-01"; //将 2019-10截取出来,拼装成 2019-10-01 console.log("fromDateStr: "+fromDateStr); query.filterKeys.push("日期"); //这里请将日期修改为相应的字段名 query.filterValues.push(" >='"+fromDateStr+"' "); query.filterKeys.push("日期"); //这里请将日期修改为相应的字段名 query.filterValues.push(" <='"+endDateStr+"' "); } //再次打印query,在控制台看看是否修改成功,是否与其他字段冲突 //最后生成的sql就是 日期 >= '2019-10-01' and 日期 <= '2019-10-xx' console.log(query); |
...