0

そのフィールドの前の値に応じて検証を行う必要があるため、編集可能なグリッドの EXT js でbeforeeditaから a にレコードを渡そうとしています。editたとえば、行 (電話番号) があり、そのフィールドを編集しようとすると、電話が 6 時までに始まる場合にのみ編集できますが、電話が 9 時までに始まる場合は、9 時までに始まる別の電話にしか変更できません。

コードで次を使用していますが、編集する前に値を編集関数に渡す方法がわかりません。これが私のコードです:

   listeners: {

         beforeedit: {
             scope: this,
             fn: function(e, context2){
                 var record2= context2.record;
                 var recordData2=record2.getData();
                 alert(JSON.stringify(recordData2));
             }

         },

         edit: function(e, context){

             var record = context.record;
             var recordData = record.getData();
             recordData.Funcionalidad = 'Modificar';
             alert(JSON.stringify(recordData));
             Ext.Ajax.request({
                 url: 'http://localhost:8080/MyMaver/ServletTablaLotes',
                 method: 'POST',

                 // merge row data with other params
                 params: recordData


             });
         }
        }

前の値を edit:function に参照するにはどうすればよいですか?

4

1 に答える 1

5

これを試して:

beforeedit: function(editor, e, eOpts) {
    var grid = Ext.getCmp('gridId'); // or e.grid
    if (e.record.data.phoneNumber === 'your condition') {
        //you code ..
        e.cancel = false; //may edit the record
    } else {
        e.cancel = true; //not allowed to edit
    }
},
于 2013-06-17T13:11:42.903 に答える