2013-04-05 5 views
2

Я создаю сетку dojo, как показано ниже, и я использую плагин косвенного выбора для создания флажка, как показано ниже, но по умолчанию флажки будут располагаться в первом столбце сетки. Как мне заставить его прийти в последний столбец?Невозможно добавить флажки в последний столбец в расширенной сетке dojo

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(); 
}); 
+0

Если вы хотите получить помощь, пожалуйста, отредактируйте этот вопрос и покажите код для 'layout'. Спасибо :) – Jess

+0

var layout = [[ {name: 'Line Number', field: 'bLineNumber'}, {name: 'Product Number', field: 'dirProductNumber'}, {name: 'Number of Days' , поле: 'dirNumberOfDays'}, {name: 'Serial Received', field: 'bSerialReceived'}, {имя: 'Дата получения', поле: 'bReceiptDate'}, {name: 'Serial Shipped', field : 'bSerialShipped'}, {name: 'Дата отправки', поле: 'bShipDate'}, {name: 'Discrepant Serial', поле: 'checkBox'} ]]; – kumar

+0

расположение как указано выше, пожалуйста, помогите мне :( – kumar

ответ

1

сам плагин не имеет возможности делать это, насколько я знаю, так что я начал смотреть на функции самого EnhancedGrid имеет и наткнулся на функцию moveColumn() в grid.layout. Сама документация (here) была не очень полезной, но я использовал ее для перемещения каждого столбца на одну позицию вперед, чтобы первый столбец стал последним.

Я также сделал рабочий JSFiddle, чтобы продемонстрировать, что вы можете видеть here. Код, который движется столбцы можно найти в нижней части кода:

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

Что она делает это следующим образом: она перемещает каждый столбец, начиная с индекса 1, так что означает, что все столбцы, кроме столбца indirectSelection один шаг вперед (i-1).

+0

благодарит Dimitri за его работу ... если у меня нет желания, я хочу еще одну вещь, Я хочу показать имя в последнем coulmn, которое имеет флажки, поэтому я помещаю имя: «Requested», headerSelector: true, в плагине косвенного выбора, но только флажок headerselector - это не имя столбца – kumar

+0

любой, пожалуйста, повторите попытку .... – kumar

+0

Я не думаю, что вы можете иметь как селектор заголовков, так и имя. вы должны удалить 'headerSelector: true' из ваших свойств. – g00glen00b