extjs JSONStore的load事件/insert,add方法應用 如何動態改變顯示數據
1.場景/功能描述
1.1產品分類管理(增加,修改,刪除,查詢)
1.2產品查詢界面,查詢下拉條件有:產品分類。
2.分析
業務數據存儲在數據庫。界面顯示時請求web服務器,再而從數據庫中讀取數據。
相同:場景中1.1查詢所有產品分類與1.2加載所有產品分類作爲條件,這兩部分的數據集一樣
不同:場景1.2的數據集需要多一項,“全部”,即用戶可選“全部”項,查詢所有分類的產品
3.實現
只描述關鍵代碼
方法1:
前臺:
Ext.Ajax.request({
extraParams:{'from':'1.1'}//from表示界面源,1.1表示場景1.1
});
後臺:
IList<ProductCate> listCate = db.getList("select cateid,catename from tbProductCate ");//讀取數據
string _from = Request.From["from"].ToString();
if( _from == "1.2")
{
listCate.insert(0, new ProductCate("-1","全部"));
}
Respone.Write(listCate.toJSON());
Respone.End();
方法2:
在場景1.2部分js代碼中,在 productCateJsonStore增加load事件的監聽。
var productCateJsonStore = new Ext.data.JSONStore(
...//其他配置簡略
listeners : {
load : function()
{
this.insert(0,{cateid:-1,catename:'全部'});
//this.add({cateid:-1,catename:'全部'});是加載到最後面
}
}
);
方法3:
在場景1.2中將下拉框單選改爲列表多選。
對比分析:
方法1:比較土,修改代碼量少,擴展性中等。
方法2:實現當前需求最簡單做法。
方法3:修改代碼量大,但用戶體驗好。
4.擴展
在JSONStore的load事件裏,可get某一條數據,然後修改某一項的值,或者remove
1.1產品分類管理(增加,修改,刪除,查詢)
1.2產品查詢界面,查詢下拉條件有:產品分類。
2.分析
業務數據存儲在數據庫。界面顯示時請求web服務器,再而從數據庫中讀取數據。
相同:場景中1.1查詢所有產品分類與1.2加載所有產品分類作爲條件,這兩部分的數據集一樣
不同:場景1.2的數據集需要多一項,“全部”,即用戶可選“全部”項,查詢所有分類的產品
3.實現
只描述關鍵代碼
方法1:
前臺:
Ext.Ajax.request({
extraParams:{'from':'1.1'}//from表示界面源,1.1表示場景1.1
});
後臺:
IList<ProductCate> listCate = db.getList("select cateid,catename from tbProductCate ");//讀取數據
string _from = Request.From["from"].ToString();
if( _from == "1.2")
{
listCate.insert(0, new ProductCate("-1","全部"));
}
Respone.Write(listCate.toJSON());
Respone.End();
方法2:
在場景1.2部分js代碼中,在 productCateJsonStore增加load事件的監聽。
var productCateJsonStore = new Ext.data.JSONStore(
...//其他配置簡略
listeners : {
load : function()
{
this.insert(0,{cateid:-1,catename:'全部'});
//this.add({cateid:-1,catename:'全部'});是加載到最後面
}
}
);
方法3:
在場景1.2中將下拉框單選改爲列表多選。
對比分析:
方法1:比較土,修改代碼量少,擴展性中等。
方法2:實現當前需求最簡單做法。
方法3:修改代碼量大,但用戶體驗好。
4.擴展
在JSONStore的load事件裏,可get某一條數據,然後修改某一項的值,或者remove
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.