2011-07-29 19 views
2

アタッチされた画面のようにグリッド内のアクティブ行を強調表示する標準的な方法はありますか?グリッド項目選択時に行とセルの両方をハイライト表示

グリッドがあることを意味します。cellmodel選択タイプです。グリッド内のアイテムをクリックすると、セルが強調表示されます。私は同時にアクティブ行を強調表示したいと思います。

グリッドに解析対象のデータがたくさん含まれている場合は、 セルを選択すると、行全体(おそらく桁区切り)をハイライト表示する必要があります。

enter image description here

+0

セルを選択すると行が強調表示されると思いますか?セルを異なる色でハイライト表示したいのですか? –

+0

いつconfig ** "selType: 'rowmodel'" **、そうです!行が選択されたときに強調表示されますが、** "selType: 'cellmodel'" **を選択すると、セルが強調表示されますので、** "selType: 'cellmodel'" * *、セルと行を同時に強調表示するために、異なる色を使用することがあります。 – scebotari66

+0

afaikこのタイプの相互作用を実現するには、 'RowModel'を拡張せずにカスタマイズした行選択モデルを構築することはできません。 –

答えて

2

感謝。私たちはそれをしました:)これは可能な解決策の1つです:

selModel: Ext.create('Ext.selection.CellModel', { 
    listeners: { 
     select: function (cellModel, record, rowIndex) { 
      var myGrid = this.items.get('gridItemId'); 
      myGrid.getView().addRowCls(rowIndex, 'row-style'); 
     }, 
     deselect: function (cellModel, record, rowIndex) { 
      var myGrid = this.items.get('gridItemId'); 
      myGrid.getView().removeRowCls(rowIndex, 'row-style'); 
     }, 
     scope: this 
    } 
}), 
0

あなたがCellSelectionModelを使用している場合でも、あなたは簡単に選択したセルが入っている行にスタイル/クラスを適用することができます。あなたはCellSelectionModelのイベントを見ている場合は、cellselectが表示されます実際にはrowIndexを返します。

cellselect:(selectionModelのこの、数rowIndexに、数colIndex)

だから、何ができたことはとても以下のようなものです:

// we'll say you have your Grid stored in a variable, grid 
CellSelectionModel ...({ 
    listeners: { 
     'cellselect': function(selModel, rowIndex) { 
      var cellRow = grid.getView().getRow(rowIndex); 
      Ext.fly(cellRow).addClass('selectedRow') 
      // do any other logic with the actual DOM element here 
    } 
}) 
+0

これはext 3 ..チェックインする4!ありがとう;) – scebotari66

関連する問題