Backgrid格式化程序正在添加其他列中的值



使用BackGrid,是否可以构建一个自定义的Cell vía格式化程序,从隐藏列中组成值?

var grid = new Backgrid.Grid({
  columns: [
   {
   name:"half_value_1",
   cell:"string",
   rendered: false
   },
   {
   name:"half_value_2",
   cell:"string",
   rendered: false
   }, 
   {
    name: "composite",
    cell: "string",
    formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
      fromRaw: function (half_value_1, half_value_2) {
        return half_value_1 + '/' + half_value_2;
      }
    })
  }],
  collection: col
});

我可以在fromRaw函数中获取half_value_1half_value_2吗?

我认为获得所需结果的最佳方法是使用自定义单元格而不是自定义格式化程序。你可以为特定的列做这样的事情:

{
    name: "composite",
    cell: Backgrid.Cell.extend({
        render: function(){
            // You have access to the whole model - get values like normal in Backbone
            var half_value_1 = this.model.get("half_value_1");
            var half_value_2 = this.model.get("half_value_2");
            // Put what you want inside the cell (Can use .html if HTML formatting is needed)
            this.$el.text( half_value_1 + '/' + half_value_2 );
            // MUST do this for the grid to not error out
            return this;
        }
    })
}

这应该非常适合你——我在项目中的一些网格中使用了它。我没有测试这个代码,所以我可能有打字错误:)

密钥

相关内容

  • 没有找到相关文章

最新更新