【问题标题】:Row Numbers for backgridbackgrid 的行号
【发布时间】:2013-11-20 08:31:36
【问题描述】:

如何在不将其定义为列之一的情况下将行号分配给背景网格的行? 我想从 1 开始分配行号;标题中有或没有文本

【问题讨论】:

    标签: backgrid


    【解决方案1】:

    您现在可以像这样稍微低效地做到这一点:

    var RowNumberCell = Backgrid.StringCell.extend({
      render: function () {
        return this.model.collection.indexOf(this.model) + 1;
      }
    });
    
    var columns = [{
      name: "",
      cell: RowNumberCell,
      editable: false,
      sortable: false
    },
    ...
    ];
    

    【讨论】:

    • 有没有更有效的方法来完成这个?虽然它实现了添加行号的基本要求,但在尝试按另一列排序时它不会调整。例如。如果我随后选择按姓氏列排序,模型将正确调整和排序,但行号保持不变。
    • @skålfyfan 如果您希望根据您对集合的排序方式更改行号。这意味着您希望集合中的每个模型都有一个要显示的“数字”。在这种情况下,您需要修改模型的定义,而不是修改 backgrid。
    【解决方案2】:

    我不得不对 Y.H Wong 的回答稍作修改,因为我不断收到以下错误。

    “节点”:参数 1 不是“节点”类型

    通过使用以下代码,我能够获得所需的行为,尽管使用了同样的效率稍低的方法。

    // Row Number Cell.
    var RowNumberCell = Backgrid.StringCell.extend({
        render: function () {
            const number = this.model.collection.indexOf(this.model) + 1;
            this.$el.text(number);
            return this;
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-10
      • 1970-01-01
      • 2016-01-05
      • 2013-11-15
      • 1970-01-01
      • 2014-06-01
      • 2013-01-24
      相关资源
      最近更新 更多