连续选择多个单元格并找到它们的总和 jquery - kendo ui

Posted

技术标签:

【中文标题】连续选择多个单元格并找到它们的总和 jquery - kendo ui【英文标题】:Select multiple cells in a row and find their sum jquery - kendo ui 【发布时间】:2022-01-07 00:07:22 【问题描述】:

我需要连续获取多个单元格的选定值并使用 kendo grid ui jquery 找到它们的总和。

是否可以选择多列并找到每一行的总和并将结果显示为另一列.selected column and result format

【问题讨论】:

你想如何选择行/单元格?你试过什么? 您好,我需要选择列并找到每一行的总和并将结果显示为另一列。 大卫的回答已经告诉你怎么做。 从给定的示例中,我们能够计算所有选定行的总和。但是如果我选择 2 列和 3 行,我需要分别找到每行的总和并将结果显示在不同的列中。 你为什么不把这件事告诉大卫,这样他才能改进他的答案? 【参考方案1】:
    selectable.mode 属性设置为multiple, cell。 在change事件中,调用this.select()获取选中的单元格 通过调用Object.values 仅获取选定单元格的值 过滤值以仅返回 <td /> 元素的值 将过滤后的值映射为仅返回转换后的元素内部文本 通过将值相加来减少过滤和映射的值

例子:

change: function() 
  var selectedCells = Object.values(this.select())
    .filter(function(value) 
      return value && value.nodeName && value.nodeName == 'TD';
    )
    .map(function(td) 
      return Number(td.innerText);
    );
  var total = selectedCells.reduce(function(a, b) 
    return a + b;
  , 0);
  console.log(total);

小提琴:https://dojo.telerik.com/oNUJaxiG

更新

在问题 cmets 中进行了一些讨论后,OP 明确表示他们需要每个单独的行与选定单元格的总和。在这种情况下,change 方法将需要稍微修改以基本上按行分组:

change: function() 
  var selectedCells = Object.values(this.select())
    .filter(function(value) 
      return value && value.nodeName && value.nodeName == 'TD';
    );
  var selectedRows = ;
  $.each(selectedCells, function(index, cell) 
    var parent = cell.parentNode.getAttribute('data-uid');
    if (Object.keys(selectedRows).indexOf(parent) < 0) 
      selectedRows[parent] = [];
    
    selectedRows[parent].push(Number(cell.innerText));
  );
  $.each(Object.keys(selectedRows), function(index, key) 
    var row = selectedRows[key];
    var total = row.reduce(function(a, b) 
      return a + b;
    , 0);
    console.log(`Row $key total: $total`);
  );

小提琴:https://dojo.telerik.com/unOTesaD

【讨论】:

查看问题cmets。

以上是关于连续选择多个单元格并找到它们的总和 jquery - kendo ui的主要内容,如果未能解决你的问题,请参考以下文章

在集合视图中找到中间单元格并更改其内容

如何从工作表中获取公式单元格并仅更改一次该公式的变量?

循环遍历表的单元格并使用ForEach onClick - Javascript / Jquery

找到 JTable 单元格并绘制它

读取多个单元格的颜色,并根据颜色将颜色返回到另一个单元格

如何使用jQuery选择相邻的表格单元格