默认加载时,canEdit无法在dgrid中工作

时间:2012-09-18 07:34:33

标签: dojo editor dgrid

我有一个树形网格,在编辑时有以下ui要求。

  • 某些行的费用列可编辑。
  • 默认情况下,可编辑行始终可用于编辑,而不是 基于任何事件。
  • 每行都有最小最大范围。当用户输入值时 需要验证。

这是我为dgrid定义的列结构。

var columns = [
        tree({label: "Name", field:"name" }),
        { label : "Description", field:"description" },
        editor({label: "Cost", field: "cost", canEdit : function(rowItem){ return rowItem.isEditable;}}, dijit.form.NumberTextBox),
        {label:"Min - Max Range", field:"minRange", get:getMinMax, id:'minMax'}
];

虽然树和编辑工作正常,但我没有什么问题需要解决。

  • 如果没有为编辑器提供editOn,则该列可以编辑 默认情况下。但是,只有在我们提供时才会调用canEdit 在editOn参数中spl事件。有没有办法调用canEdit 即使在默认加载期间也是如此。
  • 我需要动态设置NumberTextBox的范围约束 每一行。有没有一种简单的方法来设置基于行的约束 值。

非常感谢您的帮助

1 个答案:

答案 0 :(得分:2)

  1. 至于editOn为false时调用的canEdit检查: https://github.com/SitePen/dgrid/issues/623
  2. 对于基于行值的动态设定值,您可以尝试:
    在小部件级别上扩展小部件:
    在 在继承(参数)

    之后启动
      

    var _row = this.grid.grid.row(this.domNode.parentNode);
      this.query = {myParam:_row.data.maxRange};

  3.      Tsemach。