如何在 vaadin 中设置网格单元格样式

2023-12-27

我创建了一个带有一列的简单网格:

public MyGrid() {
    addComponentColumn(this::getIcon).setClassNameGenerator(i -> "icon-img");
    setItems(/** some items */);
    setClassName("sidebar-grid");
}

我有一个名为的 css 主题mangaTheme。我这样用@Theme("mangaTheme")。在 mangaTheme 文件夹中我有styles.css文件包含以下内容:

.icon-img {
    padding: 0;
}

.sidebar-grid {
    width: 102px;
    margin: auto;
    margin-left: -30%;
}

The sidebar-grid css properties are applied properly as the grid is moved, but the icon-img properties are not applied whatsoever:enter image description here

The classnames are applied: enter image description here

我做错了什么或错过了什么?我还阅读了本指南:https://cookbook.vaadin.com/dynamic-grid-cell-styling https://cookbook.vaadin.com/dynamic-grid-cell-styling

EDIT: After configuring my workspace as was mentioned in the answer this is the resulting structure, but it still does not seem to function properly. enter image description here


你缺少的是细胞<td>元素位于 Shadow DOM 内部vaadin-grid组件,因此不能使用全局 CSS 进行样式设置。要为组件影子 DOM 内的部分组件设置样式,您需要将 CSS 注入到组件中。

在 Cookbook 示例中,这是通过themeFor加载样式表的注释中的参数:

@CssImport(themeFor = "vaadin-grid", value = "./recipe/dynamicgridcellstyling/dynamic-grid-cell-styling.css")

但是,在主题文件夹中,您可以通过将该 CSS 放入名为 vaadin-grid.css 的样式表中来执行相同的操作components子文件夹,即:

themes/mangaTheme/components/vaadin-grid.css

您缺少的另一件事是类名应用于<td>单元格,但填充位于vaadin-grid-cell-content元素插入单元格,而不是单元格本身,因此您需要重写选择器:

.icon-img ::slotted(vaadin-grid-cell-content) {
    padding: 0;
}

(sidebar-grid CSS 类按原样工作正常,因为它应用于 vaadin-grid 根元素,该元素位于页面的常规 DOM 中。)

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

如何在 vaadin 中设置网格单元格样式 的相关文章

随机推荐

  • 使用金字塔进行金字塔认证

    在金字塔文档中 Sqlalchemy Dispatch 教程使用虚拟数据security py 我需要使用mysql数据 所以我是这样实现的 我的登录代码 view config route name login renderer json
  • 使用 Chart.js 实现任意位置 50 个点的雷达图的最有效方法是什么

    考虑如下的数据序列 data angle 1 2 value 1 2 angle 355 2 value 5 6 我想在径向缩放图上显示这些数据 即指示每个点的值有多高的圆形带 以显示角度与值 每个数据集的角度都会发生微小但无法控制的变化
  • 并行执行多个AJAX请求,无需等待其他人响应

    我有一个问题 我需要执行多个 AJAX 请求 在一页上 请求同时开始 但他们似乎在等待前任返回 假设 page1 需要大约 3 秒来加载 第 2 页需要 2 秒才能加载 我得到的是 两者同时启动 page1 请求在 3 秒后返回 但问题是p
  • sed 删除行中除前 5 个字符之外的剩余字符

    使用 sed 删除行中除前 5 个前导字符之外的所有字符的 sed 命令是什么 我尝试过 向后 处理 恢复删除 但这不是最优雅的解决方案 这可能对你有用 GNU sed echo 1234567890 sed s 6g 12345 Or e
  • 使用映射字典更改字典的键

    我想通过传递映射字典和替换嵌套键的函数来替换字典的键名称 问题是我在嵌套字典中有多个名为 id 的键 我想用特定名称重命名这些 id 初始词典 initial dict id 1 netAmount 10 2 modifiedOn 2017
  • 如何使用 Google Web Toolkit 绘制图表?

    我正在考虑使用 Google Web Toolkit GWT 绘制图表的解决方案 到目前为止我只找到了gwt 图 http code google com p gwt diagrams 项目但似乎被放弃了 对于使用 GWT 绘制图表有什么建
  • 从函数返回后如何在Python中打印原始变量的名称?

    我有枚举并使用类似的变量myEnum SomeNameA myEnum SomeNameB等 当我从函数返回这些变量之一时 我可以打印它们的名称 例如myEnum SomeNameA 而不是他们返回的值 简短的回答 不 长答案 这可以通过使
  • Scipy 标签侵蚀

    如何在 numpy 数组中的标记区域周围保留一圈像素 在一个简单的情况下 我会减去侵蚀 当标签接触时 这种方法就不起作用了 我怎样才能得到B from A A array 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2
  • Jquery ajax 和 php die()

    我的 IE 有问题 我正在使用 jquery ajax 方法来调用 php 脚本 php 脚本只调用 die 在 Firefox 中 会显示错误消息 但在 IE 中 会显示成功消息 但不显示任何数据 我更喜欢调用错误函数 有没有什么办法解决
  • 无法获取本地颁发者证书 vscode

    我正在尝试安装 VSCode 的扩展 但无法获得本地发行人证书 我的设置 json Place your settings in this file to overwrite the default settings Controls th
  • URL 重写 GET 参数

    我希望我的网址如下所示 www website com home foo bar hello world 我只想改变第一个获取参数 然而实际的 幕后 网址是这样的 www website com index php page home fo
  • 高度与线高样式

    当处理永远不会超过一行的文本时 使用这两种方法有什么区别 从我所看到的关于元素顶部或底部的元素来看 它们都可以在屏幕上产生类似的结果 如果是的话为什么还要使用行高呢 使用高度会更有意义 编辑 一个示例是从内部带有文本的 div 创建的风格化
  • 如何在 Django 中使用模式?

    我想在 Django 中使用 PostgreSQL 模式 我该怎么做 也许这会有所帮助 DATABASES default ENGINE django db backends postgresql psycopg2 OPTIONS opti
  • 基于ListView创建XML文件

    我想创建一个基于 ListView 的 XML 文件 现在 我正在创建 ListView 的位图 使其成为可绘制对象 然后将其设置为相对布局的背景 像这样 public Bitmap getWholeListViewItemsToBitma
  • java.sql.SQLException:用户“root”@“localhost”的访问被拒绝(使用密码:YES)Spring boot

    我针对这个问题进行了很多搜索 但没有找到适合我的好的解决方案 我的数据库名称 employee management system 我的应用程序属性 spring datasource url jdbc mysql localhost 33
  • 如何在 ruby​​ 中进行命名捕获

    我想命名从扫描中捕获的字符串 怎么做 555 333 7777 scan d 3 d 3 d 4 flatten gt 555 333 7777 可以改成这样吗 area gt 555 city gt 333 local gt 7777 o
  • SSRS 2008 日期格式化和导出到 Excel 混乱

    假设我在 Reporting Services 模板中有一个带有日期值的字段 例如 CDate 2010 12 03 我将 d 格式应用于此单元格 根据描述 该格式 将反映报告的区域设置 我使用英语生成报告 日期显示为12 03 2010
  • Python 计划未按计划运行

    我使用下面的代码每 5 分钟执行一次 python 脚本 但是当它下次执行时 它不会像以前那样在精确的时间执行 例如 如果我在上午 9 00 00 准确执行它 则下次它在上午 9 05 25 执行 下次在上午 9 10 45 执行 由于我每
  • React Router 中的 match.url 到底是什么?

    我在 React Router 文档中看到您传递到组件中match道具 你可以打电话match url 但您似乎从未真正将任何内容传递给组件 那么 match 到底是什么 你从哪里得到它 希望这可以帮助 https reacttrainin
  • 如何在 vaadin 中设置网格单元格样式

    我创建了一个带有一列的简单网格 public MyGrid addComponentColumn this getIcon setClassNameGenerator i gt icon img setItems some items se