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