问题标签 [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.
dojo - Dojo Gridx 与 JsonStore
我正在尝试将 Gridx 网格连接到 JsonStore。代码和数据如下。问题是 Gridx 渲染正确,但它说:没有要显示的项目。有人知道我在做什么错吗?Dojo 和 Gridx 是随cpm
.
编辑:在 Firebug/Chrom 开发工具中没有对 /test/ 的 ajax 请求
/test 返回的数据是这样的:
网格是通过以下方式创建的:
dojo - 从 dojo.gridx 获取行内容它总是显示最初加载的旧数据
我正在尝试在单击相关行时检索存储在 dojo.gridx 表中的数据值。只要第一次调用以下函数,它就可以正常工作,当使用新数据再次调用该函数时,这些数据会正确显示在屏幕上,但是当我单击任何行时,检索到的实际数据是属于该行的数据保存第一次调用函数时加载的数据。获得正确数据的唯一方法是重新加载调用 java 脚本的整个 html 页面。加载为“dati”的数据动态来自此处未显示的 ajax-js。
脚本:
datagrid - 在事件中使用 JsonStore 更新 Gridx?
我是 Web UI、Dojo、Java 等的新手。如果您指的是任何高级主题,请提供一些阅读参考。我会帮你的。
语境:
我有使用JsonStore的Gridx设计,它采用目标 + id 作为 URL。使用固定的“id”网格可以很好地加载。
我有动态树。延迟加载等工作正常。
客观的:
基于 Tree 中给定节点的单击(或 dblclick)事件,我必须使用数据加载 Gridx。因此,如果单击树节点 "id":7,则应获取 JsonStore: /target/7 并将其加载到 Gridx 中。
问题:
你可以猜到,一开始没有有效的“id”属性来填写 JsonStore。在树的单击事件处理程序中,我将在用户单击时获取此值。因此,不能在“就绪”状态下调用 gridx.startup()。尽管我已将小部件“放置”在“就绪”状态。
因此,我有以下片段要处理,<
现在,麻烦的是,在第一次加载时,JsonStore GET 单独使用 /target/ 触发,没有任何“id”,没有任何用户点击。因此,服务器以 405 响应。随后,当用户单击时,没有“id”的相同 HTTP GET 再次导致 HTTP 405。我无法以某种方式将“id”提供给 GET URL。我检查了 JSON,它的形状很完美,因为它在独立表中工作,这是声明性(ly)定义的。
请建议我通过其“id”将树节点链接到 Gridx 的方法。还建议,如果我采取的方法是解决这个问题的正确方法。
dojo - 带有嵌套数据存储的 Dojo Gridx?
编辑:答案是使用格式化函数(见下文)
如果您有这样的数据存储:
有没有办法告诉GridX在这样的结构中引用username.first
?(这不起作用,但有没有办法做到这一点?)
回答:
javascript - 内存存储更改后如何刷新dojo gridx?
我正在使用dojo 1.9和gridx。网格使用内存存储进行初始化。但是当数据发生变化时,我更新了商店,但我看到网格没有任何变化。它没有refresh()
方法(如dgrid)。但是,我发现了以下顺序:
它使网格显示Loading...
消息,但没有任何反应。
但是,分页器显示了正确的页数,只有网格容器没有呈现行。
/gridx/tests/test_grid_filter.html
带有来自 gridx 源的过滤器的示例具有相同的问题:Loading...
消息,但没有数据。
所以第一个问题是,这是一个错误吗?如果它不是错误,那么我应该如何告诉网格数据已更改并且应该重新加载?
performance - 如何加快dojo初始化?
如何加快富dojo页面的初始化,需要的模块很多?
我正在制作一个Dojo 1.9启动应用程序,此时它只有GridX,没有任何额外的 dijit wigdets(最终的应用程序还将有一个带有 dijit 小部件的过滤器构建)。
初始化需要 259 个请求,在激活FireBug网络日志记录的情况下需要 1.79 秒。没有萤火虫,它需要快一点,但无论如何,请求的数量是巨大的。
当我激活 without must-revalidate
for dojo 模块的缓存时,它会快一点(至少它不会杀死服务器),但仍然需要大约一秒钟。尽管缓存处于活动状态,但无论如何都会向服务器发出一些请求 - 它们是 HTML 模板的 GET(例如gridx/templates/Grid.html
)。
我的问题是,是否有可能以某种方式加速初始化?例如,是否可以将我的起始页使用的所有模块合并为一个,并说 AMD 加载程序不向它们发出请求?或者至少将 CSS 合并到更大的 CSS 中,例如 GridX 的单个?可能有工具吗?
javascript - Dojo GridX 行/单元格更改监听器?
我正在使用Dojo 1.9和GridX 1.2。我想检测给定行(或单元格)已被用户更改的事件。然后将执行其他操作,例如,一行将更改背景颜色并启用“保存”按钮。
我正在搜索示例和文档,但我没有找到示例。如何注册对网格中的编辑做出反应的侦听器,这将为我提供已编辑的行或单元格的信息,并有可能在更改后读取实际值?
javascript - 如何在可编辑的GridX中将局部变量作为属性提供给单元格编辑器?
我将Dojo 1.9与GridX 1.2一起使用。我只是将ComboBox
as 编辑器配置为网格中的单元格。
我在示例中找到了以下配置语法:
问题是,那props
必须是要被解析的文本。它不接受对象。这意味着,我必须将myStore
其设为全局变量,这是我想避免的。
是否有另一种方法可以在 GridX 中配置编辑器?
dojo - GridX中的不可见列?
是否可以在GridX中创建一个不可见且不呈现的列?我不想简单地用 CSS 隐藏单元格,因为它不优雅并且可能有副作用。
不可见的列很有用,因为例如,在onApply
来自单元格编辑器的事件中,我变成了一个行数据,其中只包含来自 dataStore 的那些字段,这些字段被声明为列。
GridX 中是否有不可见列这样的功能?
我将 Dojo 1.9 与 GridX 1.2 一起使用。
javascript - 如何在始终编辑模式下将单元格放入 GridX?
我将 Dojo 1.9 与 GridX 1.2 一起使用。我想在网格中提供复选框,可以很容易地点击它,在数据模式下更改布尔字段的值。例如,我想用它来进行选择。
目前,该复选框仅在双击后显示,然后必须再次单击它。所以需要点击 3 次来检查复选框的状态。它提供了糟糕的用户体验,并降低了使用网格的效率。
是否可以说,复选框将始终呈现为可点击状态?