2017-03-20 10 views
0

extウィンドウで行選択データを設定することはできません。このための解決策を教えてください。私のコードは...ここにあなたのExtJSのバージョンに応じて、グリッド行のgetSelectionModelデータをextウィンドウで設定する方法

var shiftWindow = Ext.create('Ext.window.Window', { 
    title: 'Edit Shift', 
    resizable: false, 
    id: 'shiftwindow', 
    width: 465, 
    //bodyPadding: 5, 
    modal: true, 
    store: shiftStorePlanner, 

    items: { 
     xtype: 'form', 
     id: 'idFormShift', 
     bodyPadding: 10, 
     items: shiftViewModelPlannerData 
    }, 
    buttons: [{ 
     text: 'Save', 
     cls: 'planner-save-button', 
     overCls: 'planner-save-button-over', 
     handler: function() { 
      var wi = this.up('.window') 
      var form = Ext.getCmp('idFormShift'); 
      if (form.isValid()) { 
       shiftTimemappingarray = []; 
       getShiftTime(); 
       //this.up('.window').close(); 
      } 
     } 
    }, { 
     text: 'Cancel', 
     handler: function() { 
      this.up('.window').close(); 
     } 
    }] 
}); 

    var host1 = Ext.getCmp('plannershifteditor'); 
    var selection = host1._shiftPlannerGrid.getSelectionModel().getSelection(); 
    if (selection.length === 0) { 

     return; 
    } 

    Ext.getCmp('shiftWindow').getForm().setValues(selection[0].data); 
    shiftWindow.show(); 
    } 
+0

コードをデバッグして問題を分析するのに役立ちます。 – Tejas

+0

返信ありがとう...私のこのコード "Ext.getCmp( 'shiftWindow')。getForm()。setValues(selection [0] .data);"行が動作していません.. – Hemant

+0

私はストアと他の機能をグリッドで使用しているため、私はコードをフィドラーで実行することができません。私が間違ったプロパティを使用している場合は、私に示唆してください(私が間違ったプロパティを使用している場合は、私に示唆してください) "Ext.getCmp( 'shiftWindow')。ウィンドウの設定値。 – Hemant

答えて

1

です:

var selection = grid.getSelectionModel().getSelection(); 
grid.getForm().loadRecord(selection[0]); 

後で、フォームの値でモデルを更新するためにupdateRecord()を使用することができます。

もっとに関する情報:

ExtJSの5以降も結合ViewModelにサポートしています。これにより、自動的にジョブが実行されます。

関連する問題