我正在尝试使用可编辑单元格创建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还是我错过了什么?
答案 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/),