『壹』 怎么查看extjs filter的过滤
主要利用filter过滤掉未经登录而直接跳转到非登录访问页面。代码而言的话并不难,只是有几点问题需要注意一下。
1.使用filter需要配置web.xml,如果是/*那么在拦截后的页面会连带jsp页面里的js和css一并拦截住。
解决办法是jsp放在jsppage这个文件下,其他css、js并列。配置的时候就/jsppage/*。
还有个办法是在dofilter里面判断在request域拿到url,进行比对,然后过滤。
2.需要设置哪些页面是你不想拦截的【假设所有的页面都放在jsppage内】。
代码见下:
LoginFilert.java
public class LoginFilter extends HttpServlet implements Filter {
public void doFilter(ServletRequest sRequest, ServletResponse sResponse,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) sRequest;
HttpServletResponse response = (HttpServletResponse) sResponse;
HttpSession session = request.getSession();
String url = request.getServletPath();
String contextPath = request.getContextPath();
if (url.equals("")){
url += "/";
}
if ((url.startsWith("/") && !url.startsWith("/jspPage/login"))) {// 若访问后台资源
// 设置不需要过滤的页面
if (url.endsWith("about.jsp")) {
filterChain.doFilter(sRequest, sResponse);
return;
}
// 过滤到login
String admin = (String) session.getAttribute("admin_name");
if (admin == null) {// 转入管理员登陆页面
response.sendRedirect(contextPath + "/jspPage/login.jsp");
return;
}
}
filterChain.doFilter(sRequest, sResponse);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
web.xml
loginFilter
util.LoginFilter
loginFilter
/jspPage/*
『贰』 ExtJs grid 如何实现按照每一列进行筛选
store 有一个 filter 方法。
store.filter(columnIndex, searchValue);
columnIndex - 要过滤的字段的 dataIndex
searchValue - 过滤条件
但是在数据庞大或者数据改动比较多的系专统里不建议属这么做。
本地过滤意味着第一次查询要查询所有的数据,这样会很慢。
再就是如果一直保持者第一次查询的数据的话,数据准确性也很低。
『叁』 extjs中store中的filter之后怎样把store再恢复回来
载的时候对store中的数据进行过滤,楼主可参考着修改
var filter = function(record, id){
if (record.get("sum") && record.get("sum") > 0)
return true;
else
return false;
};
var onStoreLoad = function(store, records, options){
store.filterBy(filter);
};
store.on("load", onStoreLoad);
『肆』 Extjs中的一个图表,我需要对数据进行筛选显示,超过80的数据的点将会变成红色,该怎么实现呢
Extjs的柱状图 我倒是弄过 根据值 显示不同颜色
折线图 没见过这种需求 一个小红点不是很明显吧
看看Extjs的api吧,关注一下“renderer”属性
『伍』 extjs filters怎样过滤两个条件例如: filters:[{ property: 'sysOrgId',//市场 value: 2, }]在加一个部门
用数组:
filters:[
{ property: 'sysOrgId',value: 2 },
{ property: 'sysOrgId',value: 3 }
]
『陆』 Extjs combo怎么实现每次选择后就过滤掉这个值
combo里面有stroe,当选择时把所选的那条record remove掉,可以这样试试,我也没做过
『柒』 ExtJs:grid store 前台数据源,动态查询,模糊查询
代码直接给你吧,看不明白再留言。
var me = this,
vm = me.getViewModel(),
store = vm.getStore('drugStore');
store.clearFilter(false);
store.filter([
{
filterFn: function (item) {
return item.get('ItemName').indexOf(value) >= 0 || item.get('ItemId').indexOf(value) >= 0;
}
}
]);
『捌』 EXTJS4 查询数据,结果出来,根据某一列数据的值,如果为Y,操作那里显示取消推荐,如果为N就显示推荐
实例的代码已经可以实现这种需求了
{
xtype:'actioncolumn',
width:50,
sortable:false,
menuDisabled:true,
items:[
{
handler:function(view,rowIndex,colIndex,item,e){
this.fireEvent('itemclick',this,'sell',view,rowIndex,colIndex,item,e);
},
icon:'images/fam/delete.gif',
tooltip:'Sellstock'
},
{
getClass:function(v,metadata,r,rowIndex,colIndex,store){
if(r.get('change')<0){
this.items[1].tooltip='Holdstock';
return'alert-col';
}else{
this.items[1].tooltip='Buystock';
return'buy-col';
}
},
handler:function(view,rowIndex,colIndex,item,e){
varrec=view.getRecords(view.getNodes())[rowIndex];
varaction=rec.get('change')<0?'hold':'buy';
this.fireEvent('itemclick',this,action,view,rowIndex,colIndex,item,e);
}
}
]
}
『玖』 extjs显示从数据库中取出来的值
没写过这个哦!!
不过你是不是可以在后台将extJs所需要的语法直接写成js形式字符串,那样就直接在页面输出就可以了!
否则的话就是将你的ta这个对象在前台 放在隐藏域中循环输出,然后再用js调用。循环不断写出表格的主体部分吧