Автоматическое изменение размера виджета dojo dijit.Grid при изменении размеров родительского контейнера.

Некоторые приложения сами обрабатывают эти инструкции, вызывая что-то вроде этого:

error_reporting(E_ALL & ~E_DEPRECATED); or error_reporting(0);

И, таким образом, переопределение настроек .htaccess.

7
задан Daniel Lew 15 May 2009 в 18:40
поделиться

3 ответа

Мне приходилось делать это иногда; это не так уж сложно:

function resizeGrid() {
   // do whatever you need here, e.g.:
   myGrid.resize();
   myGrid.update();
}

dojo.addOnLoad(function() {
   dojo.connect(window, "onresize", resizeGrid);
});
10
ответ дан 6 December 2019 в 19:41
поделиться

У меня такая же проблема. Я пробовал решение, подобное предложенному Райаном Коррадини.

Это нормально только для первого отображения. Если я изменяю размер окна, функция изменения размера вызывается правильно, но размер сетки остается неизменным.

Обратите внимание на мои особые условия: в функции изменения размера я должен установить атрибут высоты сетки (только изменение размера + обновление кажется недостаточным).

HTML выглядит так:

<div id="msgItems" dojoType="dijit.layout.ContentPane" region="center"
 style="padding:2px;">
<form id="msgDefForm" name="msgDefForm" dojoType="dijit.form.Form">
<div style="display:none;"><input type="text" name="msgName" id="msgName" dojoType="dijit.form.TextBox"></input>
</div>

<table dojoType="dojox.grid.DataGrid" jsId="msgGrid" id="msgGrid"
rowsPerPage="10" rowSelector="5px" singleClickEdit="false" loadingMessage="Loading message content"  
errorMessage="Error while loading the message content" selectable="true"  >
  <thead>
    <tr>
      <th field="zone" width="8em" cellType="dojox.grid.cells.Select" options="properties, values" editable="true">Zone</th>
      <th field="property" width="auto" editable="true">Property</th>
      <th field="value" width="auto" editable="true">Value</th>
    </tr>
  </thead>
</table>

</form>
</div>

JS выглядит так:

... in startOnLoad :
dojo.connect( window, "onresize", msgGridResized);
msgGridResized ();
...

function msgGridResized () {
    var cont = dojo.byId("msgItems")
    var h = cont.clientHeight - 4;
    if (h >= 0){
        var grd = dijit.byId("msgGrid");
        grd.attr("height", h+"px" );
        grd.resize();
        grd.update();
    }
}
1
ответ дан 6 December 2019 в 19:41
поделиться

Это просто моя привычка. В этих случаях это не обязательно.

-121--4998525-

Это может помочь:

в разделе Инструменты Параметры Проекты и Решения Сборка и запуск : Подробная информация о результатах построения проекта MSBuild поле со списком. Это управляет объемом информации требуется просмотреть в окне «Output».

-121--2392174-

У вас нет времени, чтобы попробовать это, но вы не можете просто dojo.connect к событию resize, и в обработчике изменить размер сетки или установить размер сетки, используя проценты в объявлении/разметке?

1
ответ дан 6 December 2019 в 19:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: