有没有办法使用渲染器方法添加多个类?

2023-12-06

我正在尝试构建一个看起来相当复杂的桌子,并且我一直在使用 Handsontable 的各种功能。

我希望实现的一件事是为单元格分配不同的类以用于样式目的。所以我将渲染器用于各种场景。事情是,当我将新类分配给单元格时,就像第一次渲染它一样。

Example:

const cellClasses = (row, col, prop) => {
const cellProperties = {};
if (col === 2 || col === 8 || col === 15) {
    cellProperties.renderer = borderTest; // uses function directly
}
if ((row === 6 && col > 1) || (row === 12 && col > 1) || (row === 18 && col > 1)) {
    cellProperties.renderer = bgTest; // uses function directly
}
return cellProperties;

};

function bgTest(instance, td, row, col, prop, value, cellProperties) {
    Handsontable.renderers.TextRenderer.apply(this, arguments);
    td.className = 'testbg';
}

function borderTest(instance, td, row, col, prop, value, cellProperties) {
    Handsontable.renderers.TextRenderer.apply(this, arguments);
    td.className += 'testborder';
}

请不要太关注逻辑。我现在担心的是,如果一个单元恰好满足这两个条件,它就会将一个类添加到另一个类中。

对我来说,一种巧妙的方法是结合两种逻辑来制作一个更大的 IF,但随着我的网格变得越来越复杂,维护起来会更加困难。

所以,我的问题是,是否有一种简单的方法可以将多个类分配给单元格,而不是同时分配。


简而言之,不,您不能按照您描述的方式分配类,因为 Handsontable 会在每次迭代时故意重新渲染整个单元格。这样做有充分的理由,主要是为了减少状态错误。

使用更具体的逻辑来确定列所需的所有渲染器并不是一个坏主意,因此我认为提出逻辑来声明性地定义列是合理的(而不是黑客!)。您可能需要考虑使用 col 索引以外的其他东西来使代码更具可扩展性。在我们的表中,我们倾向于将列定义存储在配置文件中或从后端服务创建。希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法使用渲染器方法添加多个类? 的相关文章

  • handsontable使用及遇到的坑--公式计算(思路)

    公式 公式的计算可使用堆栈的思想将运算符后置 如 C1 A1 A2 5 B1可以变换成 A1 A2 5 B1 计算过程为 假设A1 1 A2 2 B1 3 C1 A1 A2 5 B1 A1 A2 5 B1 1 2 5 3 3 5 3 15
  • 使用 Handsontable 时如何强制选定的单元格进入编辑模式?

    Handsontable 为选择单元格时提供了一些不错的钩子 但我似乎无法找到方法让它允许我在选择单元格时强制进入编辑模式 我可以像这样检测单元格选择 Handsontable PluginHooks add afterSelection
  • rhandsontable 更改特定行的背景

    我在 R闪亮中使用rhandsontable 我想更改第一列中带有 Sum 的行的颜色 由于行数不固定 因此根据行号选择 Sum 行不起作用 我已经尝试了附加的代码 不幸的是它不起作用 非常感谢您的帮助 library shiny libr
  • 如何保存使用rhandsontable r包所做的编辑

    我的 R 程序按预期工作 它显示了一个包含我的数据帧的表 并允许我编辑值 如何捕获这些值并将它们保存到我的数据框或数据框的副本中 require shiny library rhandsontable DF data frame val 1
  • 如何更改 Handsontable 中已更改单元格的颜色?

    我正在使用 Handsontable 插件 当用户更改单元格中的值时 它应该变成黄色 以便他们可以跟踪更改的内容 在本例中 黄色是类 changeInput 棘手的部分是 当您双击单元格进行更改时 它会变成文本区域 而不再是 td 有任何想
  • 如何使用列号从 MySQL 表中删除列

    我正在尝试从与 Handsontable 一起使用的 MySQL 表中删除一列 当我从 Handsontable 中删除一列时 我可以使用以下命令获取该列的索引afterRemoveCol 打回来 afterRemoveCol functi
  • 应用于 Scroll 上的 Handsontable 网格行的 CSS 无法正常工作

    我正在使用 Handsontable 0 11 4 网格 其中加载的行具有黄色背景 单击行中的图标时 有一个逻辑可以删除黄色背景 并且效果完美 如果我单击 2 行 它会将这些行设置为白色 正如它应该的那样 当我向下滚动时 白色行随之滚动 当
  • 有没有办法使用渲染器方法添加多个类?

    我正在尝试构建一个看起来相当复杂的桌子 并且我一直在使用 Handsontable 的各种功能 我希望实现的一件事是为单元格分配不同的类以用于样式目的 所以我将渲染器用于各种场景 事情是 当我将新类分配给单元格时 就像第一次渲染它一样 Ex
  • Handsontable 保存公式值

    我想将 Handsontable 集成到我的网站 但是有一个问题 当我尝试保存由 RuleJS 公式支持 创建的数据时 脚本给我一个公式 例如 A1 B1 我试图获得简单数学乘以价格和货币的结果 如何保存表值 而不是从源中保存 workig
  • Handsontable:隐藏一些列而不更改数据数组/对象

    我有一个数据要在网格中显示 我正在使用 Handsontable 来显示数据 每个第三列都计算为前两列的差值 例如 第三列渲染为第一列和第二列的总和 这是由自定义渲染器通过取总和来完成的i 1 and i 2列 这是我的 差异 列的自定义渲
  • 刷新一下桌面

    我想刷新一个可操作的网格 我有一些列 其中的下拉列表填充了数据库的数据 但在我的页面中 我有一个第一个网格 它在该数据库中插入数据 然后我在第二个网格中获取它们 但由于我的第二个网格没有刷新 我无法获取刚刚插入第一个网格的最后一个值 那么我
  • Rhandsontable 条件格式 - 如何根据特定属性值突出显示行?

    我想根据值对整行应用颜色突出显示 并保留 rhandsontable 的复选框功能 在下面的简单示例中 我希望第 3 行为粉色 第 4 行为绿色 library rhandsontable DF data frame bool TRUE v
  • 在 Shiny 应用程序中同步两个 rHandsontable 输出之间的列顺序

    我正在构建一个闪亮的应用程序 它并排显示两个表格 一个控制表和一个预览表 控制表显示预览表的列名称 用户可以通过拖放列来更改其顺序来操作它们 用户还可以编辑控制表中的列名称 所做的更改会反映在预览表中 但是 我在同步控制表和预览表之间的列顺
  • 使用 nghandsontable 访问 Handsontable 方法/属性

    我在用着ngHandson表 https github com handsontable ngHandsontable角度指令手动表 http handsontable com 我成功地显示了数据 但我正在努力访问修改后的行 以便将数据发送
  • 从javascript隐藏handsontable的列

    有什么方法可以隐藏 JavaScript 中的热门列吗 要求是要隐藏的列将作为 javascript 中的参数出现 并且相应的列将相应地显示隐藏 HOT 有 rowHeaders 和 colHeaders 以及 20 列的数据 请指教 过时
  • 如何为 JavaScript 数组中的每个对象动态添加属性

    我试图循环遍历对象数组 为每个对象添加属性和值 表的顺序很重要 因为我试图使用可手动视图作为客户端来检索服务器端 mysql 表的内容 我希望 Handsontable 视图具有与表相同的列顺序 但我想插入一个复选框列作为第一列以允许记录选
  • 检索已排序的可手动实例内的隐藏标头

    使用时手动表 http handsontable com 似乎很难从上下文菜单中检索行的标题 考虑以下数据源 var data function return 1212 roman i ii iii 3121 numeric 1 2 3 4
  • Javascript 函数无法返回元素

    所以我正在与手动表 http handsontable com 目前项目的 jQuery 插件 我已经编写了一些自定义函数来使用它 我目前遇到问题的函数是我编写的一个函数 用于返回当前选定的单元格 当用户仅选择一个而不是多个时 是的 已检查
  • HandsOnTable - 从 0.11.0 升级到 0.15.0-beta 2 后销毁并重新创建不起作用

    我有如下代码 HTML div class handsontable style width 1 div JavaScript var rangePriceGrid rangePricesGrid handsontable getInsta
  • 将表类型添加到 JSON 编辑器

    我想了解的代码这个 JSON 编辑器 http mb21 github io JSONedit 并修改它 In 指令 js https github com mb21 JSONedit blob gh pages js directives

随机推荐

  • #pragma omp parallel 和 #pragma omp parallel for 之间的区别

    我是新来的OpenMP我一直在尝试运行一个使用 OpenMP 添加两个数组的程序 在 OpenMP 教程中 我了解到我们需要使用 pragma omp 并行 for在使用 OpenMP 时for环形 但我也尝试过同样的事情 pragma o
  • Java:如何从本机安装程序创建工作 .exe?

    我有一个程序 希望任何用户都能轻松安装 我认为创建本机安装程序是正确的方法 我使用了 Netbeans 8 0 的功能 项目属性 gt 启用本机打包和打包为 我能够创建一个可用的本机安装程序 安装后 我有以下文件树 Project app
  • 如果知道变量地址,如何在 C++ 中检索变量值

    问候 我最近开始编码C 并且遇到了一个我无法找到答案的问题 所以我想也许其他人可能知道答案 如果您知道变量地址 是否可以从另一个程序检索变量值 想象一下 我在程序中显示了一个内存地址 如下所示 0x7fff5fbff758我想 在我自己的程
  • 将 .NET 对象从 VB6 传递到 .NET 时出现问题

    我们有一个由第三方创建的 NET dll A 它通过 tlb 向我们的 VB6 exe 应用程序公开类 我们还有自己的 NET dll B 它引用 NET dll A B 还通过 tlb 向我们的 VB6 exe 应用程序公开类 现在 VB
  • Jquery 文件验证

    HTML 形式
  • 将数据从 WPF 窗口发送到 C# 类文件

    我正在尝试为我编写的用于将图像导入数据库的控制台应用程序制作一个简单的 GUI 我有一个 xml 文件 其中包含图像所属的不同研究 我正在用这些研究的名称填充列表框 我有一个名为 DirectoryNavigator cs 的类文件 根据从
  • 如何删除带有约束的列?

    如何删除 SQL Server 2008 中具有默认约束的列 我的查询是 alter table tbloffers drop column checkin 我遇到以下错误 ALTER TABLE DROP COLUMN 签入失败 因为一个
  • Minicom 黑色背景颜色不受尊重 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 如果我在终端中使用颜色和选项 c on 启动 minicom 黑色背景实际上是灰色的 minicom c on 如果我在设置中设置任何颜色 例如红色 则会尊重背景颜色 minicom
  • 如何使用 php/ajax 自动更新内容而不重新加载网页?

    我正在尝试使用 PHP 创建一个拍卖工具 我遇到的问题 我很欣赏这是一个基本问题 但我需要澄清 是我不明白如何在每个用户屏幕上自动更新 拍卖价格 而无需他们采取任何操作或不会导致页面完全重新加载 到目前为止 我知道 Ajax 是用来执行此操
  • Mac、Linux 和 PC (Redux) 上的 Mono 的 Winforms

    我问了这个问题用另一种方式 并得到了一些有趣的回应 但我不太相信 Mono 的 GtkSharp 真的是跨平台的吗 它似乎是基于 Gnome 的 它如何在 PC 和 Mac 上运行 有人可以给我一个使用 Microsoft Net 中的单个
  • 如何将特征 FFT 与 MatrixXf 结合使用?

    我是 Eigen 图书馆的新手 我想计算特征矩阵的 FFT 然而 我的尝试表明 不受支持的 Eigen FFT 模块不能与 MatrixXf 一起使用 我想要完成类似的事情 include
  • Chef:尝试添加时“节点”上未定义节点属性或方法“<<”

    在我的 postgresql 配方的属性文件中 我有 default postgresql pg hba comment gt IPv4 local connections type gt host db gt all user gt al
  • 哪个用户引发了 FileSystemWatcher 事件?

    例如 我可以捕获文件夹树中各个文件的删除事件 但我如何确定哪个用户导致删除发生 我在 FileSystemWatcher 的 MSDN 文档中找不到任何明显的内容 所以也许这是不可能的 不过我很好奇是否有解决方案 目前 对于 FileSys
  • 有什么很酷的函数可以替换 ansi c 中 pascal 的 readln 吗?

    readln 读取直到行尾 按下输入 其中包含空格和所有内容 我想要类似的东西 但是对于ansi c 不是c 需要用于linux和windows 我知道我可以创建一个函数来读取每个字符 直到按下回车键 但是如果有更酷的东西那就太好了 D T
  • python将多个excel中的所有工作表附加到pandas数据框中的有效方法

    我有大约 20 xlsx 文件 每个 xlsx 文件内可能包含不同数量的工作表 但感谢上帝 所有列都是所有工作表和所有 xlsx 文件中的一些列 通过参考here 我有了一些想法 我一直在尝试几种方法将所有 Excel 文件 所有工作表 导
  • 迁移到 SQL Server 2012 时 MySQL GROUP BY 不起作用

    我正在将我的 Delphi 应用程序从 MySQL 迁移到 SQL Server 2012 在 MySQL 中我有以下查询 SELECT XS S M L XL XXL 1Size Custom as Total FROM StockDat
  • 你调用的对象是空的。 [复制]

    这个问题在这里已经有答案了 当我运行该程序时 我不断收到此错误 你调用的对象是空的 描述 执行当前 Web 请求期间发生未处理的异常 请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息 异常详细信息 System NullRefere
  • 通过反射区分类属性类型

    我有一个矩形课 public class Rectangle Base IRectangle public IDimension dimension get set public Position position get set publ
  • jest-preset-Angular 不适用于 Angular 13 和 ESM 模块

    我将 ESM 模块与 jest 一起使用 当使用 Angular 12 jest preset Angular 进行编译时 通过在排除列表中列出 igniteui 对我来说非常有用 我升级到 Angular 13 和 jest preset
  • 有没有办法使用渲染器方法添加多个类?

    我正在尝试构建一个看起来相当复杂的桌子 并且我一直在使用 Handsontable 的各种功能 我希望实现的一件事是为单元格分配不同的类以用于样式目的 所以我将渲染器用于各种场景 事情是 当我将新类分配给单元格时 就像第一次渲染它一样 Ex