2017-01-16 48 views
0

我有剑道网格已分组的列头(两个头)与数据源绑定。我正在使用下面的代码来获得正常工作的单头行网格的列索引。如何获得分组列(多头)中的特定列的索引Kendo网格

dataBound: function (e) { 
      var grid = e.sender; 
      var rows = grid.tbody.children(); 
      var dataItem = grid.dataItem(rows[0]); 
      var priColIndex = grid.wrapper.find(".k-grid-header [data-field=FromDemandQty]").index(); 
      var cell = row.children().eq(priColIndex); 

      if (dataItem.FromDemandQty < 0) 
       cell.addClass('stkShort'); 
      else 
       cell.addClass('stkExcess'); 
} 

但是,当我的剑道网格有两个标题行时,这不起作用。以下是我的剑道网格的屏幕截图。上面提到的代码返回索引为1时,我实际上试图获得图像中的过量/短列的索引,看起来它是一个新的组启动时重置索引(组名称:请求者数据,请参考图像)

enter image description here

+0

嗯所以我想明白你在问什么。你想获得行或列吗?哪一列是你得到的列,哪一列是你需要的?他们是否分组? – Keith

+0

@Keith,实际上我的一些kendo网格中的列被分组(合并为标题头)。我需要根据某些条件获取“Excess/Short”列的索引以设置该列的类。请参考附件图片。当我使用上面提到的代码时,它返回1作为索引,但实际上索引是6.所以我正在寻求帮助来获得该列的实际索引。 –

回答

0

最后我得到了解决方案。这两个在我的问题

Insteed直接走索引中提到的情况下工作,需要采取列的数据集的指数

现有代码:

var priColIndex = grid.wrapper.find(".k-grid-header [data-field=FromDemandQty]").index(); 
     var cell = row.children().eq(priColIndex); 

     if (dataItem.FromDemandQty < 0) 
      cell.addClass('stkShort'); 
     else 
      cell.addClass('stkExcess'); 

应该改变:

var fromDemCell = grid.wrapper.find(".k-grid-header [data-field=FromDemandQty]"); 
        if (fromDemCell.length > 0) { 
         var priColIndex = parseInt(fromDemCell[0].dataset.index); 
         var cell = row.children().eq(priColIndex); 
         if (dataItem.FromDemandQty < 0) { 
          cell.addClass('stkShort'); 
         } 
         else 
          cell.addClass('stkExcess'); 
        } 
相关问题