问题标签 [dojo.gridx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何将 CSS 类/样式设置为 GridX 中的特定列?
我想在 Dojo 的GridX的列上设置自定义样式或 CSS 类来自定义内容布局(文本居中、背景颜色、字体等)。
例如,我现在有以下块(渲染):
我想告诉 GridX 渲染器将类附加extern
到其中一个td
或div
(或两者)。
有没有标准的方法(例如结构参数)?如果不是,我可以在哪个代码片段中构建我的自定义钩子,这就是我所描述的?
javascript - 如何在 GridX 中将 onClick 侦听器注册到 dijit Button?
我正在尝试将我的 onClick 侦听器注册到dijit Button ,该按钮放置为带有 GridX的单元内小部件。基于示例,我已经完成了以下操作test_grid_cellWidget
:
setCellValue
执行成功,标签改变。但是,当我单击按钮时,onClick 侦听器未注册且未调用。当我使用它的语法data-dojo-props="onClick:function"
时,它需要将侦听器函数声明为全局,这是我想避免的。
无论如何,我有 Button 对象,并且我正在执行 dijit 文档中的代码,所以它应该可以工作。但是为什么在这种情况下什么都没有注册呢?
javascript - 如何通过另一个单元格的值过滤Dojo GridX的单元格编辑器中选择组件的选项?
如何通过同一行中另一个单元格的值过滤选择组件(FilteringSelect
或)的选项?ComboBox
我将GridX 1.2 版与 Dojo 1.9 一起使用。我有2个选择小部件的行,其中一个应该被第二个过滤。这类似于此示例:https://dojotoolkit.org/reference-guide/1.9/dijit/form/FilteringSelect.html#codependent-filteringselect-combobox-widgets,只是它发生在同一行中。
我使用该gridx/modules/Edit
模块来定义单元格编辑器小部件。我知道decorator
和onCellValue
功能,但问题是,它们在单元级别上运行。我正在寻找注册回调的地方,它可以在渲染后访问整行,所以我可以注册监听器,它会在修改另一个控件后更改一个控件,但我找不到任何东西。
是否可以在不对 GridX 源代码进行[大] 修改的情况下使用 GridX 来实现这种效果?如果是这样,该怎么做?
css - 具有 100% 宽度和可调整列宽的 Dojo GridX?
我只是考虑在我的应用程序中使用 GridX 作为网格组件。我试图找出如何配置一些东西。
起初我想拥有一个具有全宽视口的网格,它会有几列具有固定宽度,但所有其他的都会适应视口。
在“普通”表格中,我将表格的宽度设置为 100%,将宽度设置为固定列,将最小宽度设置为自动调整列大小。但在这里我找不到一个例子。
有一个演示 test_grid_columnwidth.html,但它没有我想要的功能。“自动宽度网格”在开始时比视口更宽。
更改 .gridx 和 .gridxBody 的宽度属性后,网格适应视口,但列不适应,其中一些消失了。
当我关注https://github.com/oria/gridx/wiki/Introduction-to-Gridx并设置.gridx {width:100%;}
时,网格容器适应视口,有滚动,但列既不缩小也不扩大。
好的,我认为我的要求很基本。那么如何用 GridX 做到这一点呢?我错过了什么吗?
filter - Dojo GridX 列内过滤插件?
GridX 是否具有列内过滤功能,例如 PrimeFaces DataTable: http: //www.primefaces.org/showcase/ui/datatableFiltering.jsf?
我找不到它的示例,或者这样做的扩展插件,但我不确定放在列标题中的列宽过滤的标准名称是什么......
过滤并不难实现,但最棘手的部分是在标题中放置一个组件。我也找不到它的例子。这也是非黑客方式应该可以实现的,但是如何做到这一点呢?
dojo - 网格启动后如何启动 GridX 列宽重新计算?
根据文档:
https://github.com/oria/gridx/wiki/Create-the-Simplest-Gridx
千万不要忘记调用 grid.startup(),因为列宽计算和布局渲染需要访问网格 DOM 节点的几何信息。
如果我有带有列的网格,没有指定宽度,并且autoWidth
设置为false
,则startup()
计算列的大小,以便它们水平填充整个视口。但是,如果扩大视口,并在最后一列之后插入额外的空白空间。如果视口变窄,则最后一列不再可见(并且不呈现滚动)。
所以我认为最好的解决方法是在调整视口大小后手动重新计算列大小。但我找不到 API 方法来做到这一点。
如何在现有网格上调用列宽重新计算和布局渲染?
dojo - 使用 Gridx 的 Dojo 自定义构建
所以我一直在尝试在添加 gridx 小部件后构建我的 DOJO
我在 app.profile.js 文件中添加了 gridx 模块,如下所示:
在编译期间,我不断收到这些错误。
错误(311)缺少依赖项。模块:应用程序/屏幕;依赖项:js/plugins/gridx/Grid 错误(311)缺少依赖项。模块:应用程序/屏幕;依赖项:js/plugins/gridx/core/model/cache/Async 错误(311)缺少依赖项。模块:应用程序/屏幕;依赖项:js/plugins/gridx/modules/CellWidget 错误(311)缺少依赖项。模块:应用程序/屏幕;依赖项:js/plugins/gridx/modules/Edit 错误(311)缺少依赖项。模块:应用程序/屏幕;依赖项:js/plugins/gridx/modules/Filter 错误(311)缺少依赖项。模块:应用程序/屏幕;依赖项:js/plugins/gridx/modules/Pagination 错误(311)缺少依赖项。模块:应用程序/屏幕;依赖:js/plugins/gridx/modules/pagination/PaginationBar
不知道我在这里缺少什么我已经排除了一段时间。
packages.json 代码
dojo - Dojo gridx 过滤器:在使用 gridx 过滤器时多次调用服务器 onkeypress
每次我在“值”字段中输入一个键进行过滤时,都会调用服务器。只有当我在过滤器按钮上键入时,呼叫才应该进行。
注意:网格存储是一个 JSON 休息存储。
有什么解决方案可以防止每次按键时调用这些 api 吗?它应该只在我按下过滤器按钮时调用 api
json - GridX 需要数字 id?
我目前正在尝试使用 GridX 在我的应用程序中显示表格数据。我使用 JsonRest 作为存储、异步缓存和分页。服务器被正确调用并且结果正确(例如:items=10-20,响应:items=10-20/30)并且数据是不同的。
但是表格总是在每一页上重复显示一行(如果页面大小为 10,则为 10 次)。GridX 的模型非常复杂,但我似乎需要某种行标识符(我在某处读到它应该是数字)。我的应用程序根本没有此数据的数字标识符。是否可以使用gridX,或者我配置错误?
提前致谢。
javascript - GridX 为每一行显示相同的数据
我想我会把它放在那里,给其他可能遇到同样事情的人。我有一种情况,我正在将数据加载到网格的存储中,但是每一行都显示了相同的确切信息(并且存储中的数据不同)。来看看,您必须在您的商店(在我的情况下为内存商店)中指定 idProperty 才能正确呈现行。
如果你不把那个 idProperty 放在那里,你会得到重复的数据。