Как мне реализовать форму Dojo Master / Detail - PullRequest
0 голосов
/ 18 апреля 2011

У меня есть ситуация, когда мне нужно обновить сетку на основе того, что было выбрано в поле со списком. Макет таков, что поле со списком является частью формы сверху, а сетка - снизу.

1 Ответ

1 голос
/ 19 апреля 2011

Сначала используйте dojo connect, чтобы связать событие onChange ваших полей со списком с функцией, подобной приведенной ниже:

dojo.connect(selectFilterGroup,     'onChange',  updateFilter);
dojo.connect(selectFilterParameter, 'onChange',  updateFilter);

Затем в функции вызовите функцию фильтра в вашей сетке:

var updateFilter = function () {
    var filterParams = {};
    var group      = selectFilterGroup.get('value');
    var parameter  = selectFilterParameter.get('value');    
    if (group != '')     filterParams['group_name']  = group;
    if (parameter != '') filterParams['parameter']   = parameter;
    myGrid.filter(filterParams);
}

В этих примерах как selectFilterGroup, так и selectFilterParameter представляют собой dijits, представляющие комбинированные блоки.

Еще один способ сделать это, в зависимости от того, как вы построили свою сетку и поля со списком, - это использовать свойство displayValue для фильтра

var group      = selectFilterGroup.get('displayedValue');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...