如何实现Dojo主/明细表单

时间:2011-04-18 18:19:09

标签: datagrid dojo dojox.grid

我遇到的情况是我需要根据组合框中选择的内容更新网格。布局是这样的,组合框是顶部窗体的一部分,网格位于底部。

1 个答案:

答案 0 :(得分:1)

首先使用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');