『壹』 怎麼查看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調用。循環不斷寫出表格的主體部分吧