セルの値を変更するためにカスタムグリッドがあり、一部のセルにはセルエディタExt.form.TextFieldがあります。ここで はTextFieldを定義する方法です。form.textfieldのフォーカスを失った後に値が表示されない
var labelTextEditor = new Ext.form.TextField({
allowBlank: false,
maxLength: 256,
id: "labelTextEditor",
maxLengthText: Label.conf.ui.javascript.TooLongText,
validateOnChange: true,
validator: function(value) {
console.log(value);
if (value == "" && value.trim() == "") {
return formatMessage(Label.conf.ui.supv.LabelMandatory);
} else
return true;
},
msgTarget: 'under',
listeners: {
focus(a, event, eOpts){
var rowIndex = customFieldGrid.getSelectionModel().getCurrentPosition().row;
if(rowIndex !== undefined && rowIndex !== null){
a.setValue(view.listOfServiceDefinition[0].customFields[rowIndex].labels[userLanguagePrefix]);
}
},
blur(a, event, eOpts){
var cellValue = a.getValue();
if(cellValue !== undefined && cellValue !== null){
a.setValue(cellValue);
}else{
a.setValue("");
}
}
}
});
私は、細胞に焦点を当てた場合、それは、セルに焦点を当てて前にあった値フォーカスリスナーのおかげで私を続けています。しかし、私がフォーカスを失うと、細胞は何も表示しません。これをクリックすると、値が再び表示され、編集することができます。だから問題は、私がフォーカスを失ったときに、値をセルに表示し続けることができないということです。イベントをぼかそうとしましたが、役に立たなかった...