2017-03-05 78 views
0

我想更改通过dgrid/editor插入到OnDemandGrid中的窗口小部件的宽度。模板文件通过调用this.ruleLinesColumns()来设置列,该列返回函数返回的列。我通过下面的代码将dgrid/editor插件插入列中。默认情况下,小部件的宽度设置为比列宽宽很多。我想将其设置为100%,以便它适合列,而不是通过它。如何更改OnDemandGrid中的窗口小部件的宽度

这里是我的文件:

模板文件

<div data-dojo-type="dijit/layout/ContentPane" 
     data-dojo-props="region: 'center', gutters: false"> 

     <div data-dojo-type="dgrid/OnDemandGrid" 
      data-dojo-mixins="dgrid/Selection, dgrid/extensions/DijitRegistry, prophet/common/dgrid/_StandardGridMixin, prophet/common/dgrid/_TreeRowHighlightingMixin" 
      data-dojo-attach-point="ruleLinesGrid" 
      data-dojo-props="'class': 'grid', 
           store: this.ruleLinesStore, 
           columns: this.ruleLinesColumns(), 
           sort: 'sequence', 
           selectionMode: 'single', 
           deselectOnRefresh: false"> 
    </div> 
</div> 

当我设置列

ruleLinesColumns: function() { 
    var self = this; 
    return [ 
     ... 
     editor({ 
      field: "training", 
      label: msgs.editor.training, 
      sortable: false, 
      required: true, 
      autoSave: true 
     }, NumberTextBox), 
     ... 
    ]; 
}, 

我已经尝试了几种不同的东西,例如包括style: {width: '100%'}width: '100%'但似乎没有任何工作。

这里的文档dgrid /编辑: https://github.com/SitePen/dgrid/blob/master/doc/components/mixins/Editor.md

回答

0

我能找到答案!

由于列窗口小部件正通过dgrid /编辑器传入,因此实际上可以在editorArgs的内部包含您需要为NumberTextBox设置的所有内容。

例如,我必须得到宽度widget的100%,并确保该数字框只能输入正整数,同时也使需要

editor({ 
    field: "training", 
    label: msgs.editor.training, 
    sortable: false, 
    autoSave: true, 
    editorArgs: { 
     required: true, // Since required isn't part of editor's field, I had to put it into editorArgs as well 
     constraints: {min: 0, places: 0}, 
     style: {width: '100%'} 
    } 
}, NumberTextBox), 
相关问题