没有元素id的dojo动态数据网格

时间:2012-04-13 06:27:01

标签: datagrid dojo

我需要在复杂的RIA应用程序中即时使用Dojo DataGrids。问题是我不能使用元素id。如何在javascript中创建DataGrids然后将其插入页面?这就是我目前正在做的事情:

Backbone.View.extend({
    name: 'checkout',
    template: dojo.cache('plugins.patrons.views.templates', 'actions/checkout.html'),
    el: $('<div>'),
    store: new dojo.store.Memory({data: [{id: 1, "accession": '1000', "title": 'my book'}]}),

    initialize: function(el, data) { this.el = el; this.data = data; },

    render: function()
    {
        dojo.parser.parse(this.el.empty().html(_.template(this.template, this.data, {variable: 'data'}))[0]);
        var grid = new DataGrid({
            store: ObjectStore({objectStore: this.store}),
            structure: [
                {name:"Accession Number", field:"accession", width: "200px"},
                {name:"Title", field:"title", width: "400px"}
            ]
        }); 
        $('.checkout.action .data-grid', this.el).append(grid.domNode);
        grid.startup();
        return this;
    }
});

这会构建表格,但你看不到它,而且没有数据。

1 个答案:

答案 0 :(得分:0)

尝试给网格一个明确的高度。

var grid = new DataGrid({
     height: 400px,
     store: ObjectStore({objectStore: this.store}),
     structure: [
            {name:"Accession Number", field:"accession", width: "200px"},
            {name:"Title", field:"title", width: "400px"}
     ]
});