问题标签 [dgrid]
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 - 使用 dojox.mvc 将 dojo dgrid 绑定到表单
我想使用 dojox.mvc 将 dgrid 绑定到 dojo 中的表单。虽然有很多关于如何将单个模型绑定到表单的示例,但没有任何内容显示如何使用网格来执行此操作。网格必须与表单共享同一个存储,当有人单击网格中的一行时,表单将被更新。我的主要问题是他们使用的存储不同:dgrid 使用 dojo.store 对象,而 mvc 使用 dojo.Stateful。dojo.store 有一个名为“data”的对象,它保存数据列表,而 dojo.Stateful 有“items”。欢迎任何帮助。
javascript - 带有 JsonRestStore 的响应标头(使用 Dgrid/Dojo)
尝试使用我的 json 存储构建动态网格,但由于某种原因存在范围限制,我猜它是 dgrid/store 实现的一部分,但我应该向下滚动网格并从 dgrid 站点的示例中获得更多结果。
我会在这里放一些代码。首先,我试图在我的代码中非常模块化,所以我有一个获取我的商店 (content.js) 的文件,一个构建我的网格 (gridlayout.js) 和 main.js 的文件(创建我的实例并传递我的商店)。
内容.js
GridLayout.js
和我的main.js:
到目前为止,我只有 25 个结果,如果我向下滚动,我不会得到其余的项目。
javascript - OnDemandGrid (Dgrid) 不会在向下滚动时触发请求(新数据)
好吧,我已经能够让它与 DataGrid 一起工作,但出于某种原因,Dgrid 确实令人印象深刻,同时也非常令人沮丧(很多人推荐它)。到目前为止,我已经能够请求一定数量的数据(只有第一次调用,所以我的请求标头指定返回 25 个项目......),一旦我尝试向下滚动以获得更多项目(所以应该发送额外的请求) 没发生什么事。
基本上这就是使用 jsonrest 构建的商店:
然后,我将此存储传递给 OnDemandGrid 的属性。
我检查了这个人的例子:http ://www.speich.net/articles/demos/jsonrest/dojo-demo-dgrid.php 我检查了 dgrid 的文档(OnDemandList):https ://github.com/SitePen /dgrid/wiki/核心组件
添加了请求标头/响应标头(但我认为它们是正确的):
服务器端代码(在 perl 中):
更新:
我用旧的 jsonstore (dojox/data) 做了一个快速测试:
所以,我猜它必须是商店或网格。
javascript - 自动刷新 dgrid 内容
我正在使用 dgridOnDemandGrid
显示来自 DojoJsonRest
商店的数据。这很好用,但我希望网格自动显示更改的数据。实施基于推送的方法,服务器告诉所有客户端哪些数据已更改,因此我正在寻找基于客户端的解决方案。使用 dgridrefresh()
没有用,因为这会导致闪烁并重置整个网格。
到目前为止,我最好的猜测是定期从第二个存储实例中获取所有数据,将其与实时存储实例进行比较,并使用Observable
存储包装器通知网格任何更改的数据。
有没有更好、更优雅的解决方案?如果没有,我该如何做到最好?
编辑:这种方法的问题是知道网格中当前显示了哪些行。我的应用程序处理大量数据,因此在两个 dojo 商店中同步整个集合并不是一个好主意。有没有办法告诉网格中当前显示了哪些行?理想情况下,网格会定期为当前显示的行重新请求数据。不可能这么难吧?
编辑2:到目前为止,我最好的方法是“破解”Observable
商店,跟踪所有对observe
. 然后我会定期重新执行观察到的查询并将更改合并到实时存储中。问题是 dgrid 让太多的观察者保持开放状态,使其无法顺利工作。它关闭了其中一些,所以我的代码没有错误,我设置farOffRemoval
为 500(也尝试过越来越低)。
到目前为止,这是我的代码:https ://gist.github.com/3225927
它还没有完成,但它显示了足够的调试信息来显示问题所在。由于可能没有人愿意设置它并且 jsfiddle 上没有 dgrid,我可以告诉你,在 1000 个条目网格中滚动后,大约有 10-15 个观察者和observerStats.abs(至少观察到的所有行的计数一次)约为750。
dojo - 是否可以像在数据网格中一样过滤 dgrid 中的数据?如果是这样,怎么做?
我对 dojo 比较陌生,并且已经了解了 datagrid 如何提供动态过滤功能,该功能可以根据您在过滤器文本输入中键入的内容来减少可见行。我还没有找到任何关于如何使用 dgrid 进行操作的示例。如果可以做到,请提供一个示例或将我指向提供教程或示例的资源。谢谢!
dojo - 如何在多列上查询 dgrid
是否可以创建一个 dgrid 查询来搜索多个列上的正则表达式字符串?通常语法指定 {column1: "foo", column2: "foo"} 但它会查找 column1 和 column2 都是 "foo" 的行。但我想对两列使用相同的搜索字符串......这可能吗?我该怎么做?我需要像 {column1 || 第 2 列:“富”}。
dojo - Dgrid 将焦点设置在单元格上
我正在使用 dgrid 以网格格式显示数据,它有四列。都是可编辑的
我使用了以下方式来声明它。
我的问题是,当我编辑第一列时,编辑后应该将焦点放在第二列并在该单元格中显示光标,这样我就可以开始编辑第二列了;第三列也是如此。
我对 dojo 和 dgrid 非常陌生。我在 sitepen 上找到了一些 API,但无法解决我的问题
请帮助我
sorting - 如何覆盖 dgrid (gridFromHtml) 中任何列的排序方法?
有没有办法覆盖排序方法并编写我们自己的方法来对 dgrid(gridFromHtml) 中的特定列进行排序?
javascript - dgrid 的 grid.right 在 IE 中给出错误
我正在使用 dgrid 和 CellSelection 插件来选择一个单元格。假设网格有 4 列,当第一个单元格填充数据时(通过某些操作,比如单击按钮),焦点移动到下一个单元格,再次在这个单元格中填充数据,将焦点移动到下一个单元格,依此类推。
上述情况在Chrome和FF中运行良好,但在IE 9中失败,出现此错误
无法获取属性“className”的值:对象为空或未定义
我正在像这样检索“选定的单元格”。
并在 selectedCell 中填充数据(通过单击按钮)并移动到下一个单元格
我发现在 grid.right 调用中抛出了错误,但无法在其中进行太多探索
对此有什么建议吗?
javascript - 使用 Dgrid 自定义排序
我正在使用 Dgrid 并且我知道可以按 asc 和 desc 排序的排序参数,但我想通过自定义顺序进行排序,我想这需要通过商店完成。有人有例子吗?