Rest extjs4代理存储don';t使用交付的数据
我有两个网格,每个网格都有自己的代理存储。每个存储绑定到具有以下定义的同一模型:Rest extjs4代理存储don';t使用交付的数据,rest,extjs,store,extjs4.1,Rest,Extjs,Store,Extjs4.1,我有两个网格,每个网格都有自己的代理存储。每个存储绑定到具有以下定义的同一模型: Ext.define('Issue', { extend: 'Ext.data.Model', fields : [{ name : 'updated_on', type : 'string' }, { name : 'done_ratio', type : 'int' }, { name : 'star
Ext.define('Issue', {
extend: 'Ext.data.Model',
fields : [{
name : 'updated_on',
type : 'string'
}, {
name : 'done_ratio',
type : 'int'
}, {
name : 'start_date',
type : 'string'
}, {
name : 'subject',
type : 'string'
}, {
name : 'due_date',
type : 'string'
}, {
name : 'created_on',
type : 'string'
}, {
name : 'description',
type : 'string'
}, {
name : 'id',
type : 'int'
}, {
name : 'assigned_to',
mapping: 'assigned_to.name'
}, {
name: 'parked',
mapping: 'custom_fields[9].value',
type: 'boolean'
}]
});
存储其网格和相关容器按钮等是在函数中创建的。这两个函数看起来像:
var createMyPanel = function() {
var store = new Ext.data.Store({
/*sorters: ['gemeinde','assigned_to'],
groupField: 'gemeinde',*///comment in when want enable grouping
model : 'Issue',
autoLoad: true,
autoSync: true,
proxy : {
type : 'rest',
url : '/issues.json',
reader : {
type : 'json',
root : 'issues'
},
extraParams : runtime.CView.Model.getParams('my')
}
});
var groupingFeature = new Ext.grid.feature.Grouping({
groupHeaderTpl: 'Gemeinde: {name} ({rows.length})'
});
var searching = new Ext.ux.grid.feature.Searching({
minChars: 3,
mode: 'local',
searchText: 'Suche einschränken',
selectAllText: 'Alle Felder (ab)wählen',
searchTip: '',
minCharsTipText: 'Bitte mindestens 3 Zeichen eingeben...',
width: 200
});
var commentBtn = new Ext.Button({
text: 'Kommentar zum gewählten Ticket erfassen',
disabled: true,
ticket: null,
margin: 5
});
var toGfBtn = new Ext.Button({
text: 'an GIS-Fachstelle melden',
disabled: true,
ticket:null,
margin: 5
});
var abbruchBtn = new Ext.Button({
text: 'als abgebrochen melden',
disabled: true,
ticket:null,
margin: 5
});
var parkBtn = new Ext.Button({
text: 'Ticket zurücklegen',
disabled: true,
ticket:null,
margin: 5
});
var journalPanel = new Ext.Panel({
title: 'Kommentare',
html:'',
border: false,
autoScroll: true,
flex: 30,
padding: '5 5 5 5'
});
var buttonPanel = new Ext.Panel({
padding: '30 30 10 30',
border: false,
flex: 20,
layout: {
type: 'vbox',
align: 'stretch'
},
items:[toGfBtn, commentBtn, abbruchBtn, parkBtn]
});
var contentPanel = new Ext.Panel({
title : 'Beschreibung',
border: false,
html:'',
flex: 50,
padding: '5 5 5 5'
});
var southPanel = new Ext.Panel({
padding: '0 0 5 0',
layout: {
type: 'hbox',
align: 'stretch'
},
flex: 30,
items:[contentPanel, journalPanel, buttonPanel]
});
var grid = new Ext.grid.Panel({
store : store,
autoScroll : true,
flex: 70,
columns : [{
text : 'Ticket-Nummer',
width : 100,
sortable : true,
dataIndex : 'id',
menuDisabled : true
}, {
text : 'Abgabe-Datum',
sortable : true,
width : 100,
dataIndex : 'due_date',
menuDisabled : true
}, {
header : 'Thema',
width : 200,
sortable : true,
dataIndex : 'subject',
renderer : function(val) {
return '<div style="white-space:normal !important;">'
+ val + '</div>';
},
menuDisabled : true
}, {
header : 'Gemeinde',
width : 200,
sortable : true,
dataIndex : 'gemeinde',
menuDisabled : true
}, {
header : 'Parzelle',
width : 200,
sortable : true,
dataIndex : 'parzelle',
menuDisabled : true
}, {
header : 'zurückgelegt',
width : 200,
sortable : true,
dataIndex : 'parked',
menuDisabled : true,
renderer : function(val) {
if(val){
return 'Ja';
}else{
return 'Nein';
}
},
},{
header: 'Beschreibung',
dataIndex: 'description',
hidden: true,
menuDisabled : true
}],
bbar: ['->'],
features: [searching/*, groupingFeature*/],//comment this in when want to group
selModel: new Ext.selection.RowModel()
});
var myPanel = new Ext.Panel({
title: 'Meine Fälle',
padding: '0 5 0 5',
bl_id:'my',
layout: {
type: 'vbox',
align: 'stretch'
},
items : [grid, southPanel]
});
return {
that : myPanel,
contentPanel: contentPanel,
grid: grid,
store: store,
toGfBtn:toGfBtn,
journalPanel:journalPanel,
commentBtn:commentBtn,
southPanel:southPanel,
abbruchBtn:abbruchBtn,
parkBtn:parkBtn
}
};
var createMyPanel=function(){
var store=新的Ext.data.store({
/*分拣机:['gemeinde','assigned_to'],
groupField:'gemeinde',*///需要启用分组时在中添加注释
模式:"问题",,
自动加载:对,
自动同步:对,
代理:{
键入:“rest”,
url:“/issues.json”,
读者:{
键入:“json”,
根:“问题”
},
extraParams:runtime.CView.Model.getParams('my')
}
});
var groupingFeature=new Ext.grid.feature.Grouping({
groupHeaderTpl:'Gemeinde:{name}({rows.length})'
});
var search=new Ext.ux.grid.feature.search({
明查斯:3,
模式:“本地”,
搜索文本:“Suche einschränken”,
选择AllText:'Alle Felder(ab)wählen',
搜索提示:“”,
minCharsTipText:“三个Zeichen-eingeben…的比特明德斯特恩斯”,
宽度:200
});
var commentBtn=新建外部按钮({
文字:“Kommentar zum gewählten Ticket erfassen”,
残疾人:对,,
票证:空,
保证金:5
});
var toGfBtn=新外部按钮({
文字:“地理信息系统Fachstelle melden”,
残疾人:对,,
票证:空,
保证金:5
});
var abbruchBtn=新外部按钮({
文字:“als abgebrochen melden”,
残疾人:对,,
票证:空,
保证金:5
});
var parkBtn=新外部按钮({
文字:“票子zurücklegen”,
残疾人:对,,
票证:空,
保证金:5
});
var journalPanel=新的外部面板({
标题:“Kommentare”,
html:“”,
边界:错,
autoScroll:是的,
弹性:30,
填充:“5”
});
var buttonPanel=新的外部面板({
填充:“30 10 30”,
边界:错,
弹性:20,
布局:{
键入:“vbox”,
对齐:“拉伸”
},
项目:[toGfBtn、commentBtn、abbruchBtn、parkBtn]
});
var contentPanel=新的外部面板({
标题:“Beschreibung”,
边界:错,
html:“”,
弹性:50,
填充:“5”
});
var southPanel=新的外部面板({
填充:“0 0 5 0”,
布局:{
类型:“hbox”,
对齐:“拉伸”
},
弹性:30,
项目:[内容面板、日志面板、按钮面板]
});
var grid=新的Ext.grid.Panel({
店:店,,
autoScroll:是的,
弹性:70,
栏目:[{
文本:“票证编号”,
宽度:100,
可排序:是的,
数据索引:“id”,
menuDisabled:对
}, {
文本:“Abgabe基准面”,
可排序:是的,
宽度:100,
数据索引:“到期日”,
menuDisabled:对
}, {
标题:“Thema”,
宽度:200,
可排序:是的,
数据索引:“主题”,
渲染器:函数(val){
返回“”
+val+'';
},
menuDisabled:对
}, {
标题:“Gemeinde”,
宽度:200,
可排序:是的,
数据索引:“gemeinde”,
menuDisabled:对
}, {
标题:“Parzelle”,
宽度:200,
可排序:是的,
数据索引:“parzelle”,
menuDisabled:对
}, {
标题:“zurückgelegt”,
宽度:200,
可排序:是的,
dataIndex:'停放',
menuDisabled:没错,
渲染器:函数(val){
if(val){
返回“Ja”;
}否则{
返回“不”;
}
},
},{
标题:“Beschreibung”,
数据索引:“说明”,
隐藏:是的,
menuDisabled:对
}],
bbar:['->'],
功能:[搜索/*,分组功能*/],//在需要分组时对此进行注释
selModel:new Ext.selection.RowModel()
});
var myPanel=新的外部面板({
标题:“Meine Fälle”,
填充:“0 5 0 5”,
bl_id:“我的”,
布局:{
键入:“vbox”,
对齐:“拉伸”
},
项目:[网格,南面板]
});
返回{
我的小组,
contentPanel:contentPanel,
网格:网格,
店:店,,
toGfBtn:toGfBtn,
journalPanel:journalPanel,
commentBtn:commentBtn,
南潘
var createAllPanel = function() {
var store = new Ext.data.Store({
/*sorters: ['gemeinde','assigned_to'],
groupField: 'gemeinde',*///comment in when want enable grouping
model : 'Issue',
autoLoad: true,
autoSync: true,
proxy : {
type : 'rest',
url : '/issues.json',
reader : {
type : 'json',
root : 'issues'
},
extraParams : runtime.CView.Model.getParams('all')
}
});
var groupingFeature = new Ext.grid.feature.Grouping({
groupHeaderTpl: 'Gemeinde: {name} ({rows.length})'
});
var searching = new Ext.ux.grid.feature.Searching({
minChars: 3,
mode: 'local',
searchText: 'Suche einschränken',
selectAllText: 'Alle Felder (ab)wählen',
searchTip: '',
minCharsTipText: 'Bitte mindestens 3 Zeichen eingeben...',
width: 200
});
var commentBtn = new Ext.Button({
text: 'Kommentar zum gewählten Ticket erfassen',
disabled: true,
ticket: null,
margin: 5
});
var toGfBtn = new Ext.Button({
text: 'an GIS-Fachstelle melden',
disabled: true,
ticket:null,
margin: 5
});
var abbruchBtn = new Ext.Button({
text: 'als abgebrochen melden',
disabled: true,
ticket:null,
margin: 5
});
var parkBtn = new Ext.Button({
text: 'Ticket zurücklegen',
disabled: true,
ticket:null,
margin: 5
});
var journalPanel = new Ext.Panel({
title: 'Kommentare',
html:'',
border: false,
autoScroll: true,
flex: 30,
padding: '5 5 5 5'
});
var buttonPanel = new Ext.Panel({
padding: '30 30 10 30',
border: false,
flex: 20,
layout: {
type: 'vbox',
align: 'stretch'
},
items:[toGfBtn, commentBtn, abbruchBtn, parkBtn]
});
var contentPanel = new Ext.Panel({
title : 'Beschreibung',
border: false,
html:'',
flex: 50,
padding: '5 5 5 5'
});
var southPanel = new Ext.Panel({
padding: '0 0 5 0',
layout: {
type: 'hbox',
align: 'stretch'
},
flex: 30,
items:[contentPanel, journalPanel, buttonPanel]
});
var grid = new Ext.grid.Panel({
store : store,
autoScroll : true,
flex: 70,
columns : [{
text : 'Ticket-Nummer',
width : 100,
sortable : true,
dataIndex : 'id',
menuDisabled : true
}, {
text : 'Abgabe-Datum',
sortable : true,
width : 100,
dataIndex : 'due_date',
menuDisabled : true
}, {
header : 'Thema',
width : 200,
sortable : true,
dataIndex : 'subject',
renderer : function(val) {
return '<div style="white-space:normal !important;">'
+ val + '</div>';
},
menuDisabled : true
}, {
header : 'Gemeinde',
width : 200,
sortable : true,
dataIndex : 'gemeinde',
menuDisabled : true
}, {
header : 'Parzelle',
width : 200,
sortable : true,
dataIndex : 'parzelle',
menuDisabled : true
}, {
header : 'zugewiesen an',
width : 200,
sortable : true,
dataIndex : 'assigned_to',
menuDisabled : true
}, {
header : 'zurückgelegt',
width : 200,
sortable : true,
dataIndex : 'parked',
menuDisabled : true,
renderer : function(val) {
if(val){
return 'Ja';
}else{
return 'Nein';
}
},
},{
header: 'Beschreibung',
dataIndex: 'description',
hidden: true,
menuDisabled : true
}],
bbar: ['->'],
features: [searching/*, groupingFeature*/],//comment this in when want to group
selModel: new Ext.selection.RowModel()
});
var allPanel = new Ext.Panel({
title: 'Alle Fälle',
padding: '0 5 0 5',
bl_id:'all',
layout: {
type: 'vbox',
align: 'stretch'
},
items : [grid, southPanel]
});
return {
that : allPanel,
contentPanel: contentPanel,
grid: grid,
store: store,
toGfBtn:toGfBtn,
journalPanel:journalPanel,
commentBtn:commentBtn,
southPanel:southPanel,
abbruchBtn:abbruchBtn,
parkBtn:parkBtn
}
};