Dojo 的 onBeforeRow 未被调用



我正在尝试在 Dojo 工具包中做一个解决方法,你不能通过添加一个只有宽度的虚拟行来在第一行做一个 colspan。创建行后,将使用 onBeforeRow 隐藏该行。

请参考以下内容作为参考。

  1. 道场错误报告

  2. Dojo-Grid-header-column-grouping

这是我的代码:

ConfirmGridGrid = new DataGrid({
    store: ConfirmGridDataStore,
    structure: [
        [
             { width: '35px'} 
            ,{ width: '35px'} 
            ,{ width: '60px'} 
            ,{ width: '60px'} 
            ,{ width: '60px'} 
            ,{ width: '60px'} 
            ,{ width: '25px'} 
            ,{ width: '25px'} 
            ,{ width: '40px'} 
            ,{ width: '25px'} 
            ,{ width: '25px'} 
            ,{ width: '25px'} 
            ,{ width: '240px'} 
            ,{ width: '25px'} 
        ],[
             { name: 'Product Code', field: 'ProductCD', width: '70px', colSpan: 2, editable: false} 
            ,{ name: 'Product Name', field: 'ProductNM', width: '240px', colSpan: 4, editable: false} 
            // The rest of second column..............................
        ],[
            // Third column..............................
        ]
    ],
    onBeforeRow: function(inDataIndex, inSubRows){
        inSubRows[0].invisible = true;
    }
}, "ConfirmGrid");
ConfirmGridGrid.startup();

由于某种原因,未调用 onBeforeRow 事件。有什么需要补充的吗?还是需要执行其他事件连接才能使其工作?顺便说一下,我正在使用 Dojo 1.9.1。

我最终发现了为什么它没有被调用。我把它放在错误的地方。

我应该将其作为结构值的属性而不是网格定义。

希望这对以后对其他人有所帮助。

structure: [
    [
         { width: '35px'} 
        ,{ width: '35px'} 
        ,{ width: '60px'} 
        ,{ width: '60px'} 
        ,{ width: '60px'} 
        ,{ width: '60px'} 
        ,{ width: '25px'} 
        ,{ width: '25px'} 
        ,{ width: '40px'} 
        ,{ width: '25px'} 
        ,{ width: '25px'} 
        ,{ width: '25px'} 
        ,{ width: '240px'} 
        ,{ width: '25px'} 
    ],[
         { name: 'Product Code', field: 'ProductCD', width: '70px', colSpan: 2, editable: false} 
        ,{ name: 'Product Name', field: 'ProductNM', width: '240px', colSpan: 4, editable: false} 
        // The rest of second column..............................
    ],[
        // Third column..............................
    ],
    ,onBeforeRow: function(inDataIndex, inSubRows){
        inSubRows[0].invisible = true;
    }
],

同样,在我的情况下,将其设置为不可见是不够的。 您需要更改 CSS 以删除填充和边框。

tr.dojoxGridInvisible th
{
    padding: 0px !important;
    border: 0px !important;
}
tr.dojoxGridInvisible td
{
    padding: 0px !important;
    border: 0px !important;
}

引导我找到答案的示例代码是这个邮件列表。

这里

相关内容

  • 没有找到相关文章

最新更新