[2.0.2] EditorGrid: Input value not save into Record
[2.0.2] EditorGrid: Input value not save into Record
Hi all!
My environment: ExtJS 2.0.2, Firefox 2.0.0.13, IE 7.0.6001.18000
I have an EditorGrid + ColumnModel + RowSelectionModel. Four columns, each column with custom editor and renderer. First, 2th and 4th column is a combobox, 3th is a TriggerField.
My EditorGrid is implemented as Popup with "Save" and "Cancel" button.
Steps to repeat:
1.) add new row to the grid
2.) select a value in combobox of 1th,2th,4th column
3.) click into field of 3th column & type in something valid
4.) let the cursor stay in the field of 3th column and press "Save" button
Problem:
Firefox sometime simply ignore my input and to not store my value at the corresponding Record-instance. Sometimes Firefox throw an error: F has no properties <ext-base.js line 10>
IE simply ignore my input and to not store my value at the corresponding Record-instance.
It seems that EditorGrid#onEditComplete is sometimes called, sometimes not. Or it dows not work properly.
As suggested by mjlecomte I put all the stuff into one html file
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> [2.0.2] EditorGrid: Input value not save into Record</title>
<link rel="stylesheet" type="text/css" href="../ext/resources/css/ext-all.css"/>
<script type="text/javascript" src="../ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../ext/ext-all-debug.js"></script>
var FilterSetRecord = Ext.data.Record.create([{name: 'filterid'},{name: 'qualifier'},{name: 'operator'},{name: 'value'}])
var store = new Ext.data.JsonStore({
storeId: 'fooStore',
reader:new Ext.data.JsonReader({id:'filterid'},FilterSetRecord),
fields:['filterid','qualifier','operator','value']
});
Ext.apply(this,{
autoExpandColumn:'value',
autoHeight:true,
clicksToEdit:1,
storetore,
cm: cm,
sm: new Ext.grid.RowSelectionModel(),
tbar: [{
panel:this,
text: 'Add Qualifier',
handler : function(){
this.panel.addProductFilter();
}
}]
});
MyNamespace.ProductFilterSet.superclass.initComponent.call(this);
},
addProductFilter : function(config){
var store = this.getStore();
var ProductFilter = store.recordType;
//generate a unique id for the new filter
var dt = new Date();
Typically people will get confirmation of a bug in the help forums before posting a bug in the bug forum.
Also, it is recommended to strip down problems to the smallest possible test case that reproduces the problem. Also, make the code self contained (a single html file for example) that only references ext-all-debug.js, etc. that has self contained sample data for the example to work as a single cut/paste so someone else can test on their local machine.