3

拡張グリッドセルのインライン編集を使用していて、NumberSpinner要素があります。このnumberspinnerの制約は、インラインで編集する場合は機能しません。ただし、必要なプロパティは正常に機能します。私のコード:

{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 } }}
4

3 に答える 3

3

もっと簡単な解決策があります、みんな:

制約:{最小:0、最大:24}

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

それはwidgetPropsの外にあり、単数である必要があります...

于 2012-10-24T10:25:38.200 に答える
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/

于 2012-09-06T12:18:42.897 に答える
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;
 }
}

この実装により、グリッド上のセルごとに異なる制約を設定することができました。

于 2012-10-09T21:32:34.153 に答える