我试图扩展dojox.grid.DataGrid
只是为了在JS中添加一些默认值。我将声明的方式添加到页面中:
Html Page
<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()
也无法渲染。
感谢任何帮助!
答案 0 :(得分:0)
我在这里遇到同样的问题,我正在尝试扩展网格的功能但是当我这样做时,它不会渲染。也不能使用更新版本的dojo。陷入1.6。
答案 1 :(得分:0)
有两个函数可以从html-markup渲染小部件。
dojox.grid.DataGrid.cell_markupFactory
和
dojox.grid.DataGrid.markupFactory
您必须使用自己的包名称在新的Grid类中覆盖它们,例如
com.mycompany.grid.MyGrid.cell_markupFactory
和
com.mycompany.grid.MyGrid.markupFactory
然后它有效!!!