无法在dojo增强网格的最后一列添加复选框



我正在创建dojo网格,如下所示,我使用indirectSelection插件创建一个复选框,如下所示,但默认情况下,复选框将出现在网格的第一列。我怎样才能让它出现在最后一栏?

var grid = new dojox.grid.EnhancedGrid({
        id: 'serialsGrid',
        style: 'width:auto;height:250px;',
        store: store,
        structure: layout,
        rowSelector: '20px',
        plugins: {
            indirectSelection: {name:'Requested',headerSelector:true, width:"40px", styles:"text-align: center;"},
          pagination: {
              pageSizes: ["25", "50", "100", "All"],
              description: true,
              sizeSwitch: true,
              pageStepper: true,
              gotoButton: true,
                      /*page step to be displayed*/
              maxPageStep: 4,
                      /*position of the pagination bar*/
              position: "bottom"
          }
        }
    }, document.createElement('div'));
    /*append the new grid to the div*/
    //var temp=grid.domNode;
    dojo.byId("serialsGridDiv").appendChild(grid.domNode);
    /*Call startup() to render the grid*/
    serialsGridCopy=grid;
    grid.startup();
});

插件本身没有这样做的能力,据我所知,所以我开始查看EnhancedGrid本身的功能,并偶然发现grid.layout中的功能moveColumn()。文档本身(这里)并不是很有用,但我使用它将每个列向前移动一个位置,以便第一列将成为最后一列。

我还制作了一个工作的JSFiddle来演示,您可以在这里看到它。移动列的代码可以在代码的底部找到:

for (var i = 1;i < grid.layout.cells.length;i++) {
    grid.layout.moveColumn(1, 1, i, i-1, grid.layout);
}

它所做的是:它从索引1开始移动每个列,所以这意味着除了间接选择列之外的所有列都向前一步(i-1)。

相关内容

  • 没有找到相关文章

最新更新