0

我使用 dojo 网格来获得表格布局、事件处理(单元格选择、键盘导航、列选择)的好处。它还给了我一些不需要的东西(行选择、背景颜色、dnd、排序和表头)。有什么方法可以自定义dojo的网格吗?或者创建自己的小部件可能更容易?

4

2 回答 2

0

假设您已经使用 dijit 小部件并且不想包含更多框架...网格本身是可以的。它速度快并且有足够的功能。问题是您需要一个实现 dojo.data.api.Read 的商店 - 而 dojo.data.* 是我所知道的最糟糕的 js 商店 api/实现(个人意见)。

我会建议...

...如果您只想显示几行并且不想使用 Web 服务为您的网格加载数据,请编写您自己的小部件。

...如果您想通过简单的 json 服务加载数据并且可以修改服务(参数和响应结构),请使用 dojo 网格和 dojo.data.FileItemReadStore。如果您无法修改服务器请求和响应格式,请小心,在大多数情况下,您将不得不编写自己的存储,这比应有的工作要多得多,其他框架更容易使用。

... 如果您想使用 REST 服务,请使用 usw dojo gird。Dojo REST 存储实现工作正常。

恕我直言,编写自己的代码仅适用于非常简单的情况是最佳选择。

至于所有 dojo/dijit/dojox 小部件,没有关于如何设置样式的最佳实践文档。标准方式是萤火虫,检查元素,修改,添加到自定义皮肤。网格很容易设置样式,因为有所有必需的 dom 节点并且更改不会影响其他小部件。不要相信任何文档;-) 例如,afaik 网格生成的不是链接中描述的 html。

于 2011-04-21T22:23:40.863 回答
0

我想这仍然取决于您的选择/资源。我知道您可以像其他 JavaScript 库一样自定义 dojo 网格。为什么不尝试其他库,例如jquery flexgrid

在我使用 dojo 网格增强模块之前,但是当我开发一个模块时,我最终创建了自己的(只是一个表格,而不是一个网格 :)。因为它还可以保护您的技能和作为客户请求的输出。

于 2011-04-11T07:09:01.207 回答