-
27 Nov 2012 2:52 AM #1
Answered: ExtJS 4.1 Ext.data.Record.create "no method substring"
Answered: ExtJS 4.1 Ext.data.Record.create "no method substring"
Hello,
I want to create a chart. With my previous version of ExtJS it worked, but with ExtJS 4.1 not.
I get my data array from a servlet and then I create a Record:
Here is en example of an element of my data array:Code:var recordLinks = new Array(9); recordLinks[0] = {name: 'datetime'}; recordLinks[1] = {name: 'sensorName'}; recordLinks[2] = {name: 'period0'}; recordLinks[3] = {name: 'destoreDate'}; recordLinks[4] = {name: 'destoreReason'}; recordLinks[5] = {name: 'destoreYVal'}; recordLinks[6] = {name: 'alarmDate'}; recordLinks[7] = {name: 'alarmName'}; recordLinks[8] = {name: 'alarmYVal'}; var fields = new Array(9); fields[0] = 'datetime'; fields[1] = 'sensorName'; fields[2] = 'period0'; fields[3] = 'destoreDate'; fields[4] = 'destoreReason'; fields[5] = 'destoreYVal'; fields[6] = 'alarmDate'; fields[7] = 'alarmName'; fields[8] = 'alarmYVal'; var rec = new Ext.data.Record.create(recordLinks); var reader = new Ext.data.ArrayReader({}, rec); var store = new Ext.data.Store({ fields: fields, reader: reader, data : data });
My problem happens when initializing my variable "rec". I get this exception:Code:{"datetime": '24/11/2012 10:45:42', "sensorName":'TEST 1',"period0": 22.80,"destoreDate":'24/11/2012 10:47:38',"destoreReason":'Checking',"destoreYVal":30.0,"alarmDate":undefined,"alarmName":undefined,"alarmYVal":undefined}
TypeError: Object [object Object] has no method 'substring'
Thanks to debug breakpoints, I determined that it happens in the ext-all-debug script , function parseNamespace line 4493 :
if (name === from || name.substring(0, from.length) === from) {
I tried to set my variable with simple String and it failed too (ex: recordLinks[0] = 'datetime';)
Does anyone know why it does not work?
Thanks!
-
Best Answer Posted by mitchellsimoens
There are many things wrong with the code. Could be simplified down to:
Code:var store = new Ext.data.Store({ fields: ['name'], data : [ {name: 'datetime'}, {name: 'sensorName'}, {name: 'period0'}, {name: 'destoreDate'}, {name: 'destoreReason'}, {name: 'destoreYVal'}, {name: 'alarmDate'}, {name: 'alarmName'}, {name: 'alarmYVal'} ] });
-
29 Nov 2012 12:51 PM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 34,121
- Vote Rating
- 453
- Answers
- 3160
Are you trying to create a record with this:
Code:var rec = new Ext.data.Record.create(recordLinks);
Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
________________
http://www.JSONPLint.com - Source to lint your JSONP!
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
https://github.com/mitchellsimoens
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services services@sencha.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!
When posting code, please use BBCode's CODE tags.
-
3 Dec 2012 12:15 AM #3
Yes I do.
And it works for my previous script...
-
3 Dec 2012 4:20 AM #4Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 34,121
- Vote Rating
- 453
- Answers
- 3160
There are many things wrong with the code. Could be simplified down to:
Code:var store = new Ext.data.Store({ fields: ['name'], data : [ {name: 'datetime'}, {name: 'sensorName'}, {name: 'period0'}, {name: 'destoreDate'}, {name: 'destoreReason'}, {name: 'destoreYVal'}, {name: 'alarmDate'}, {name: 'alarmName'}, {name: 'alarmYVal'} ] });Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
________________
http://www.JSONPLint.com - Source to lint your JSONP!
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
https://github.com/mitchellsimoens
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services services@sencha.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!
When posting code, please use BBCode's CODE tags.
-
4 Dec 2012 5:31 AM #5
Ok, it works !

Thanks a lot!
I hope I'll be more efficient for the next migration to new ExtJS versions


Reply With Quote