1. extjs JsonStore的updateRecord()方法怎麼用,參數都是什麼意思啊,在此謝過啦
保存被連結控抄件的當前值。不支持已命名的參數。
語法
object.UpdateRecord
Object 所在處代表對象表達式,其值是「應用於」列表中的對象。
說明
用這種方法在 Validate 事件期間將被連結的控制項的當前內容保存到資料庫中而不再次觸發 Validate 事件。使用這種方法可避免創建一個層疊事件。
UpdateRecord 方法與執行 Edit 方法改變一個欄位並隨後執行 Update 方法產生同樣效果,除非無事件發生。
可用這種方法以避免觸發 Validate 事件。
不論何時想更新資料庫中某條記錄,所有有效性檢查規則在記錄被寫到資料庫之前都必須得到滿足。這些規則可通過設置 ValidationRule 屬性來建立;或者,在 Microsoft SQL Server 中,通過處理 SQL 的預設、規則和編寫的一些觸發器以保證引用和數據的完整性來建立。
某些情況下,因為該操作違反了引用完整性的約束條件,包含記錄的頁被鎖定資料庫或 Recordset 對象不能更新或用戶沒有執行操作的許可權可能不發生更新。這些條件中任何一條都將產生一個可以捕獲的錯誤。
2. Extjs.data.JsonStore如何加loading
是Extjs4么?
如果是4的話,可以在gridpanel的定義上追加下面一段代碼:
listeners: {
render: function (p) {
p.setLoading({
store: p.getStore()
}).hide();
}
}
3. ExtJs關於向new Ext.data.JsonStore逐個取值問題
你的數據欄位在一段時間內是不變的么?如果是靜態的,直接寫死就是;
如果欄位是動態生成的,那可以在創建store之前,先向後台請求欄位數組
4. ExtJS表格使用JsonStore條件查詢參數傳值長度限制問題
Extjs中的幫助文檔中都是些簡單的查詢,grid的分頁查詢只是默認傳入,limit,sort,dir等參數,但實際情況中可能需要傳入自定義參數,利用JsonStore的beforeload事件來強制添加自定義的參數列表即可以實現,關鍵代碼如下:
1 var ds = new Ext.data.JsonStore({
2 url: "../Handlers/PageHandlerPage.aspx",
3 //url: "../Handlers/PageHandler.ashx",
4 root: "root",
5 totalProperty: "totalProperty",
6 id: "id",
7 baseParams:{id:Ext.get("txtId").dom.value,name:Ext.get("txtName").dom.value},
8 fields:["id","name","descn"
9 ],
10 remoteSort:true
11 });
12
13 ds.on("beforeload", function(thiz, options) {
14 //debugger
15 thiz.baseParams["id"] = Ext.get("txtId").dom.value;
16 thiz.baseParams["name"] = Ext.get("txtName").dom.value;
17 });
5. ExtJs JsonStore 獲取後台配置文件用法
這樣當然獲取不內到,
var store_jn = new Ext.data.JsonStore({
容storeID:'_store_jn',
proxy:{
type:'ajax',
url:'ComboPaging.json',
reader:{
type:'json',
// totalProperty:'total',
root:'rows',
idProperty:'name'
}
},
fields:['name','value'],
});
這句是 非同步的,
執行了這一句之後開始請求數據,緊跟著執行alert(store_jn.getCount());
這時候數據都還沒有準備好都,當然是0
通常做法是 把 alert(store_jn.getCount());放到 store的load事件的回調函數裡面,
就會得到理想的結果了
6. extjs 在外面怎麼拿到jsonStore callback 非同步的返回值 代碼如下 急!
先在外層加一個方法
execute:function(result){
}
然後
ds.load({
scope: this,//表示運行時的指針在哪裡
callback:function(){
f=ds.data.itemAt(0).get("bill_type_desc");
this.execute(f);//這里就可以運行了
}
});
或者用listens