Dojo Datagrid可编辑单元格,约束不起作用

时间:2011-08-23 14:19:15

标签: datagrid dojo

我正在尝试使用可编辑单元格创建Datagrid。 当我使用dijits作为可编辑单元格时,我尝试在布局的“widgetProps”属性中设置约束,如下所示:

   widgetProps: {
       required: true,
       constraints: {
           min: 0,
           max: 100,
           places: '0,2'
       }
   }

此处 required:true 按预期工作,而 constraints 属性根本不起作用。

这里有一个例子:http://jsfiddle.net/LjVmJ/我试图在NumberTextBox和DateTextBox中使用约束。

Dojo中的Bug还是我错过了什么?

2 个答案:

答案 0 :(得分:2)

  

来自Oliver的dojo邮件列表:
  它应该是“约束”,它应该放在“widgetProps”之外。

解决了这个问题。

答案 1 :(得分:0)

我发现了这个问题的“肮脏”解决方案:

首先使用所需的约束声明我自己的NumberTextBox:

dojo.declare(
    "my.custom.PercentageNumberTextBox", 
    [dijit.form.NumberTextBox],
    {
        postCreate: function(){
            this.inherited(arguments);
            this.set('constraints', {min:0,max:100, places:'0,2'});
    }
});

然后我将它用作网格结构中的widgetClass:

    {
        field: 'employmentPercentage',
        name: 'Employment %',
        type: dojox.grid.cells._Widget,
        widgetProps: { required: true },
        widgetClass: my.custom.PercentageNumberTextBox,
        editable: true,
        width: '150px'
    }

这是现在的解决方法(此处为完整示例:http://jsfiddle.net/LjVmJ/2/),