PDA

View Full Version : Problem with IE



panbayi
28 Jan 2013, 12:43 AM
I have written a small project and everything works well in Chrome and FF, but when I test it in IE( IE 9 and 10 works well while IE8 not),I meet a lot problems.

1.In grid, when I click some cells ,it will lose focus after 1 or 2 minutes,but when i click it again ,it will not happen again.

2.When I insert an empty record into the grid and update it ,the store won't be updated.(I used console.log() to show the store.getAt(0).getData())

3.When I add DOCTYPE into the html document it throw a error in IE8(ext-debug.js 12270 style[hook.name] = value invalid argument),when I remove the DOCTYPE,the textfield and someother component don't show correctly.

Anyone has met these before or can tell me how to fix it ?

PS: I use ExtJs 4.1.1

kramal
28 Jan 2013, 3:46 AM
there is fragment of code :

gridInRight:this.gridInRight=Ext.createByAlias('widget.gridInRight',{
layout:
{
padding:5,
margin:5,
},
listeners:
{
itemdblclick :function(arg1,arg2,html,ind)
{
var data=Ext.createByAlias('store.clientLocalData',{});
data.clearFilter(true);
var criteria=Ext.getCmp('main').comboClient.getRawValue();

alert(html+' '+ind);// here i want get know value //of cells. I have number of row but how can i get value of second cell in this raw?


if(ind==0)
{//BillWithout
data.clearFilter(true);
data.filter({property:'client_dsc',value:criteria});
data.filter({property:'client_owner',value:/^$/});
var vdata = Ext.pluck(data.data.items, 'data');

Ext.getCmp('main').leftSide.store.loadData(vdata);
//all.leftSide.changeStore(all.leftSide,data);


}else if(ind==1)
.......................
.......................

I am grateful for any suggestion
With best regards , kramal

panbayi
28 Jan 2013, 5:40 PM
If your grid is binded to a store,the you can use store.getAt(rownumber) to get the record which can be treated as an array, so try store.getAt(rownumber)[2].

kramal
28 Jan 2013, 11:43 PM
Thank you !

And I have a question:

There is fragment of code:

var temp=Ext.createByAlias('store.clientData',{ queryMode:'remote',}).getRange();
alert(temp.length);// it return 0 , ???

I can`t to get array or json object from it. Always i have been getting 0.
What is matter , I dont know.

I am grateful for any answer
With best regards
kramal.

where 'store.clientData' defined as:

Ext.define('PM.store.Clients', {
extend: 'Ext.data.Store',
model:'PM.model.Client',
//autoload:true,
alias:'store.clientData',

//data:[{client_n:'34',client_owner:'32',client_dsc:'online'},{client_n:'342',client_owner:'23',client_dsc:'online'}],


proxy:
{
type:'ajax',
url:'data/Clients.json',
reader:
{
type:'json',
root:'rows',
successProperty:'success'
}
}

});

panbayi
28 Jan 2013, 11:52 PM
Thank you !

And I have a question:

There is fragment of code:

var temp=Ext.createByAlias('store.clientData',{ queryMode:'remote',}).getRange();
alert(temp.length);// it return 0 , ???

I can`t to get array or json object from it. Always i have been getting 0.
What is matter , I dont know.

I am grateful for any answer
With best regards
kramal.

where 'store.clientData' defined as:

Ext.define('PM.store.Clients', {
extend: 'Ext.data.Store',
model:'PM.model.Client',
//autoload:true,
alias:'store.clientData',

//data:[{client_n:'34',client_owner:'32',client_dsc:'online'},{client_n:'342',client_owner:'23',client_dsc:'online'}],


proxy:
{
type:'ajax',
url:'data/Clients.json',
reader:
{
type:'json',
root:'rows',
successProperty:'success'
}
}

});
In your case
Since you have commented the red sentences,the variable temp you created has no data at all,you should call method temp.load() to loaddata.

kramal
28 Jan 2013, 11:57 PM
that is to say, I must write something like temp.load() or other?

kramal
28 Jan 2013, 11:59 PM
I have this code

var temp=Ext.createByAlias('store.clientData',{ queryMode:'remote',});
temp.load();
alert(temp.rows.length);
//it returns undefined

panbayi
29 Jan 2013, 12:16 AM
that is to say, I must write something like temp.load() or other?
Yes ,call methods like load() ,loadData() ,add() to load data to the store

panbayi
29 Jan 2013, 12:18 AM
I have this code

var temp=Ext.createByAlias('store.clientData',{ queryMode:'remote',});
temp.load();
alert(temp.rows.length);
//it returns undefined
temp is the instance of the store you defined, but temp don't have a property called 'rows',so it returns undefined

kramal
29 Jan 2013, 12:30 AM
Thank you !

Now it works! super!

loeischandra
31 Jan 2013, 12:39 AM
Great. thats method help me too. Thanks