1

ボタンをクリックするとその機能を使用できるように、ExtJS 6 panel.grid の rowIndex を知るためにウィジェット列にボタンが必要です。その情報をレンダラー関数から取得できることはわかっていますが、それはボタンが作成される前に実行されるようです。インデックスを取得する方法についてのアイデアはありますか?

4

3 に答える 3

1

onWidgetAttach を使用する

ウィジェットがレコードにアタッチされたときに呼び出される関数。これは、後処理を行うのに役立つ場合があります。

http://docs.sencha.com/extjs/5.1.2/api/Ext.grid.column.Widget.html#cfg-onWidgetAttach

この関数には、ウィジェットとレコードの両方のパラメーターがあります。widget.record = record を実行すると、クリック リスナーでアクセスできるレコード メンバーがボタンに含まれます。

于 2016-11-09T14:17:40.840 に答える
1

ドレイクの答えに基づいて、event.record代わりにプロパティを使用しています。残念ながら、クリック イベントにわずかなバッファを持たせる必要があるようです。そのため、適切なレコードが追加されます。これは機能しますが、それが適切な方法であるかどうかは完全にはわかりません。

{
  width: 150,
  xtype: 'widgetcolumn',
  widget: {
    text: 'Button',
    xtype: 'button',
    text: 'Get row index',
    listeners: {
      buffer: 1,
      click: function(button, event, eOpts) {
        var record = event.record;
        alert(store.find('postid', record.get('postid'), 0, false, true, true))
      }
    }
  }
}
于 2016-01-28T19:30:04.327 に答える