DoJo Расширенные ограничения на обновление сетки динамически не работают - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть улучшенная сетка данных DoJo с редактируемым числовым текстовым полем с некоторыми минимальными и максимальными ограничениями по умолчанию.Мне нужно изменить ограничения после полной загрузки сетки.Посоветуйте пожалуйста на такое же.ниже приведен фрагмент кода, где я применил ограничение по умолчанию как минимум 0 и максимум 100.

  1. Можно ли установить минимальные и максимальные значения ограничений из полей dataStore, например minAge и maxAge, при определении макета?
  2. Если нет, можно ли обновить эти ограничения по умолчанию?

    require(["dojox/grid/cells/dijit","dojox/grid/DataGrid"],function() {   
           window.masterlayout = [ [
            {'name' : 'Employee Name',styles:"word-wrap:break-word;", 'field' : 'msisdn',editable : false},
            {'name' : 'Min Age','field' : 'minAge' ,styles:"word-wrap:break-word;",editable : false},
            {'name' : 'Max age','field' : 'maxAge' ,styles:"word-wrap:break-word;",editable : false},
            {'name' : 'Age',
             'field' : 'age',
             'editable': true, 
              singleClickEdit :true,
             'alwaysEditing': false,
              styles:"word-wrap:break-word;",
              autoSave : false, 
              type:dojox.grid.cells._Widget, 
              widgetClass: dijit.form.NumberTextBox ,
              widgetProps: {required: true }, 
              constraint:{min:0,max:100,places:0} ,
              formatter : function(item, rowIndex, cell) { 
                  var html = '<a href="javascript:ageLimitStatusGrid.edit.setEditCell(ageLimitStatusGrid.getCell(3),'+rowIndex+');">'+item+'</a>';
              return html; 
             }
           }
            ] ];
    });
    
                var url = "Test URL";
                dataStore =new ServerSideStore({target:url});
                ageLimitStatusGrid = new EnhancedGrid({
                        store: dataStore,
                        structure: masterlayout,
                        selectionMode : 'none',
                        autoHeight : true,
                        //autoWidth : true,
                        autoRender : true,
                        queryOptions : {'deep' : true},
                        noDataMessage : '<span class="dojoxGridNoData">No Data found</span>',
                        loadingMessage : '<fmt_rt:message key="clls.loading.message"/>',
                        rowsPerPage: 5,
                        baseClass: 'balance_list',
                        plugins: {
                            pagination: { 
                                pageSizes: [],maxPageStep: 5,
                                description: true,
                                sizeSwitch: true,
                                position: "bottom"
                            }
                        }
                }, "ageLimitStatusGrid");
                ageLimitStatusGrid.startup();
    

1 Ответ

0 голосов
/ 21 декабря 2018

Вам необходимо обновить макет с помощью метода grid.set ('structure', layoutVariable).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...