获取网格上单击的单元格的值

时间:2014-02-05 11:20:36

标签: extjs extjs4

我一直在尝试获取网格上单击的单元格的值。

cellDblClick: function(self, td, cellIndex, record, tr, rowIndex, e, eOpts)

我知道我可以获取记录数据,但我需要列的名称来获取数据的值。

record.data["name_of_column"]

获取点击单元格在网格上的价值的方法是什么? 是否可以在网格上获取单击单元格的列名?

有人可以为我揭光吗?

N.B。 我正在使用extjs 4.2.1

3 个答案:

答案 0 :(得分:15)

  

您可以使用gridclick侦听器的gridConfig,如下所示。

 viewConfig : {
    listeners : {
        cellclick : function(view, cell, cellIndex, record,row, rowIndex, e) {

              var clickedDataIndex = view.panel.headerCt.getHeaderAtIndex(cellIndex).dataIndex;
              var clickedColumnName = view.panel.headerCt.getHeaderAtIndex(cellIndex).text;
              var clickedCellValue = record.get(clickedDataIndex);
          }
     }
 }

答案 1 :(得分:0)

您可以使用:

onGridpanelCellDblClick: function(tableview, td, cellIndex, record, tr, rowIndex, e, eOpts) {
    var clickedColumnName = record.getFields()[cellIndex-1].getName();
    var clickedCellValue = record.get(clickedColumnName);
}

单元格索引从1开始,因此您必须对record.getFields()返回的数组使用cellIndex-1。

答案 2 :(得分:0)

您可以使用:

cellclick: function( thisGrid, td, cellIndex, record, tr, rowIndex, e, eOpts )
{
    console.log('td/cell value: ', td.innerText);

},