我正在尝试扩展一个dojox.grid.DataGrid,只是为了在JS中添加一些默认值。我以如下的声明方式将其添加到页面中:
Html页面
<table dojoType="my.DataGrid">
<thead>
<tr>
<th width="30px" field="num">N°</th>
<th width="auto" field="email">E-mail</th>
<th width="auto" field="name" editable="true">Full name</th>
<th width="120px" field="hours" editable="true">Hours</th>
</tr>
</thead>
<tbody>
</tbody>
</table>JS文件
dojo.provide("my.DataGrid");
dojo.require("dojox.grid.DataGrid");
dojo.declare("my.DataGrid", [ dojox.grid.DataGrid ], {
summary: "My Not Working DataGrid"
});它使用dojox.grid.DataGrid可以很好地工作,但当我尝试扩展它时,什么也没有显示出来。我使用的是dojo 1.6 (我知道它太旧了,不能升级)。我知道它是工作的,因为我可以通过dijit.registry._hash访问它,但它不会呈现,甚至调用render()或startup()。
如有任何帮助,我们不胜感激!
发布于 2014-06-12 07:12:19
我在这里遇到了同样的问题,我试图扩展网格的功能,但当我这样做时,它不会呈现。也不能使用更新版本的dojo。卡在1.6。
发布于 2014-08-08 21:08:51
在DataGrid.js中,有两个函数用于呈现来自html-markup的小部件。
dojox.grid.DataGrid.cell_markupFactory和
dojox.grid.DataGrid.markupFactory您必须在新的Grid类中使用自己的包名覆盖它们,例如
com.mycompany.grid.MyGrid.cell_markupFactory和
com.mycompany.grid.MyGrid.markupFactory然后它就能工作了!
https://stackoverflow.com/questions/23934230
复制相似问题