2013-07-30 1 views
2

Я использую Backgrid для структуры таблицы. Теперь я должен добавить столбец действий, который имеет кнопки редактирования, просмотра, удаления с заголовком столбца «Действия». Я не понимаю, как это сделать, используя Backgrid. Как мы предоставили один столбец одной ячейкой, так как я могу объединить более одной ячейки под одним столбцом. Любая идея?Backgrid.js с Backbone

ответ

1

Этот вопрос немного устарел, поэтому я не уверен, что вы нашли ответ. Я делаю что-то очень похожее и обнаружил, что вы можете расширить ячейку Backgrid при создании столбцов. Надеюсь это поможет!

var columns = [ 
    { 
     OTHER COLUMNS GO HERE 
    }, 
    { 
     name: 'actions', 
     label: 'Actions', 
     editable: false, 
     sortable: false, 
     cell: Backgrid.Cell.extend({ 
      template: _.template(" TEMPLATE OR HTML GOES HERE "), 

      render: function() { 
       this.$el.html(this.template()); 
       return this; 
      } 
     }) 
    } 
] 

EDIT: Я просто добавил сортируемый параметр, поняв, что сортируемые значения по умолчанию равны true. Вероятно, вы не хотите сортировать столбец действий. :)

+0

Как вы пузырь клики на кнопках до контроллера для этой точки зрения? – Erik

0

Просто, чтобы добавить к принятому ответ, в то время как расширение класса Backgrid.Cell, это очень важно к return this внутри функции render().

Backgrid по умолчанию класс/объект использует клетки, как это:

render: function() {  
    ... 
    fragment.appendChild(this.cells[i].render().el); 
    ... 
} 

Он ожидает render() быть и возвращают в цепочке сам объект.

Итак ... Не забудьте return this;