扩展时dojox.grid.DataGrid无法正常工作

时间:2014-05-29 13:14:13

标签: datagrid dojo dojox.grid.datagrid

我试图扩展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()也无法渲染。

感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

我在这里遇到同样的问题,我正在尝试扩展网格的功能但是当我这样做时,它不会渲染。也不能使用更新版本的dojo。陷入1.6。

答案 1 :(得分:0)

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

然后它有效!!!