Extjs中我用data.jsonStore从后台获取数据后.前台再往里面添加一条数据.

Extjs中我用data.jsonStore从后台获取数据后.前台再往里面添加一条数据.,第1张

//定义类型,注意和你json返回的记录格式要一致

var MyRecordType = Ext.data.Record.create

([

{name: "id", type: "int"},

{name: "name", type: "string"}

])

//要添加的记录

var oneRecord = new RecordType

({

id: 0,

name: "张三"

})

//Store

var userStore = new Ext.data.Store({

//此处省略

})

userStore.load()

userStore.add(oneRecord)

可以试试下面:

1、fields: ['id','name']

2、在store定义后加载数据:store.load()

3、可以进一步确认问题在哪里就用静态的前台的store调试:

proxy: new Ext.data.HttpProxy({

url: 'province.do'

}),

reader: new Ext.data.JsonReader({},['pname','pid']),

remoteSort: false

这样可以确认问题出在combobox还是store上

4、直接用jsonstore:

var store= new Ext.data.JsonStore({

url:'‘,

root:'acList',

fields:['id','name']

})

希望能帮到你

Extjs中的帮助文档中都是些简单的查询,grid的分页查询只是默认传入start,limit,sort,dir等参数,但实际情况中可能需要传入自定义参数,利用JsonStore的beforeload事件来强制添加自定义的参数列表即可以实现,关键代码如下:

1 var ds = new Ext.data.JsonStore({

2url: "../Handlers/PageHandlerPage.aspx",

3//url: "../Handlers/PageHandler.ashx",

4root: "root",

5totalProperty: "totalProperty",

6id: "id",

7baseParams:{id:Ext.get("txtId").dom.value,name:Ext.get("txtName").dom.value},

8fields:["id","name","descn"

9],

10remoteSort:true

11})

12

13ds.on("beforeload", function(thiz, options) {

14//debugger

15thiz.baseParams["id"] = Ext.get("txtId").dom.value

16thiz.baseParams["name"] = Ext.get("txtName").dom.value

17})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11934516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存