2012-08-22 3 views
3

향상된 강조 셀을 인라인으로 편집하고 NumberSpinner 요소를 사용하고 있습니다. 인라인 편집시이 숫 자의 제약 조건이 작동하지 않습니다. 필요한 속성은 잘 작동합니다. 내 코드 : 나는 또한 시도NumberSpinner 제약 조건이 DataGrid에서 작동하지 않습니다.

{field: 'msorder', width: '10%', name: 'Milestone Order',editable: true, type: dojox.grid.cells._Widget, widgetClass: dijit.form.NumberSpinner, widgetProps: {required:true,smallDelta:1, editorParams:{constraints:{ min:-1000, max:1000, places:0 }} }} 

:

{field: 'msorder', width: '10%', name: 'Milestone Order',editable: true, type: dojox.grid.cells._Widget, widgetClass: dijit.form.NumberSpinner, widgetProps: {required:true,smallDelta:1, constraints:{ min:-1000, max:1000, places:0 } }} 
+0

어떤 문맥에서 그 필드 선언을 사용하고 있습니까? 아마도 jsfiddle을 가지고 있을까요? – mschr

답변

2

난 당신이 사용 Dojo의 버전을 모르겠지만, 제약 그리드 위젯 무시됩니다 1.6에서 알려진 버그가 있습니다. 그러나 약간의 덮어 쓰기 표준 인 NumberSpinner을 사용하여이 문제를 해결합니다.

dojo.require("dijit.form.NumberSpinner"); 

dojo.addOnLoad(function() { 

    dojo.declare("mySpinner", [ dijit.form.NumberSpinner], { 

      validator: function(v, c){ 

       var MIN= -1000; 
       var MAX = 1000; 

       c.min= MIN; 
       c.max = MAX ; 
       return ((v < MAX) && (v > MIN)); 
      }, 

    }); 

    var dateBox = new mySpinner({}).placeAt('foo'); 
    dateBox.set("value", 1000); 

}); 

(지금, 당신의 격자 구조는 물론 mySpinner 사용해야합니다, 그것은 트릭을 할해야합니다).

데모 : http://jsfiddle.net/tvUaK/135/

+1

분명히 문제 해결 공장입니다. 시간 내 줘서 고마워 – Sandeep

0

는 그 문제를 해결하기 위해 다른 방법을 사용했다. 나는 세포의 타입을 위젯으로 정의한 다음 get 메소드에서 위젯을 만든다.

{ 
field: 'msorder', 
width: '10%', 
name: 'Milestone Order', 
editable: true, 
type: dojox.grid.cells._Widget, 
get: function(rowIndex, item) { 
    var store = this.grid.store, 
     value = store.getValue(item, 'value'); 

    this.widget = new dijit.form.NumberSpinner({ value:0, 
    constraints:{ min:-1000, max:1000 } 
    }); 

    return value; 
} 
} 

이 구현을 통해 그리드의 각 셀마다 다른 제약 조건을 설정할 수있었습니다.

3

쉬운 솔루션이, 사람 :

제약 {분 0, 최대 24} 그것은 widgetProps 외부와 단수이어야

{field: "hours", name: "Stunden",type: dojox.grid.cells._Widget, widgetClass: dijit.form.NumberSpinner, constraint:{min:0,max:24}, widgetProps: {smallDelta:0.25, intermediateChanges:true,}},

..

관련 문제