如何在 Handsontable 中实现“查找和替换”逻辑?

Posted

技术标签:

【中文标题】如何在 Handsontable 中实现“查找和替换”逻辑?【英文标题】:How to implement "Find and Replace" logic in Handsontable? 【发布时间】:2018-10-14 17:04:26 【问题描述】:

由于我们在 Excel 和许多其他文档中都有查找和替换逻辑,如何使用 Handsontable 实现相同的逻辑?我试图在 Handsontable 网站上找到相同的内容,但找不到。我能找到的只是使用搜索框“搜索”。

我是 Handsontable 的新手。对此的任何帮助都会很棒。

【问题讨论】:

恐怕您必须自己创建替换功能。我从未听说过您描述的任何“替换”功能。到目前为止,您尝试过什么吗?我会尽量找时间在我身边创建一个,因为它非常有用和分享。 我正在寻找类似我们在 excel/eclipse/notepad 或任何其他文档中找到和替换文本的对话框。 【参考方案1】:

对于问题的第一部分,您可以轻松地重用 Handsontable documentation example 中已经存在的搜索功能。

然后您必须添加一个字段,您可以在其中放置要替换已匹配单元格的值,并使用以下简单函数将这些值替换为新值:

Handsontable.dom.addEvent(Replace, 'click', function() 
  // Replace the value of every cell that have been match by the search query
  for (row = 0, r_len = queryResult.length; row < r_len; row++) 
    hot.setDataAtCell(queryResult[row].row, queryResult[row].col, replace);
  
  // Reset all the fields
  SearchField="";
  ReplaceField="";
  queryResult="";
  document.getElementById('Search').value='';
  document.getElementById('ReplaceWith').value='';
);

请参阅此工作 jsFiddle 示例。

【讨论】:

以上是关于如何在 Handsontable 中实现“查找和替换”逻辑?的主要内容,如果未能解决你的问题,请参考以下文章

Handsontable粘贴不起作用

Handsontable 数字单元全球化

使用 datetimepicker 进行操作

如何在指令AngularJS中包装jQuery(默认)handsontable?

使用 Handsontable 时出现重复的标题

如何在Castle.Core中实现IProxyGenerationHook的类中实现Equals和GetHashCode的覆盖方法?