将文本框值传递给dojo网格的查询参数

时间:2012-07-30 20:30:51

标签: dojo dojox.grid.datagrid

我试图将文本框中的值作为dojo数据网格中的查询参数传递,并希望澄清下面列出的两个问题。 dojo网格使用查询参数启动对服务器的调用,以启动搜索并返回结果(显示在数据网格上)

  1. 是否可以通过调用refresh(dijit.byId(“mygrid”)来重新加载基于文本中的值的网格。刷新

  2. 如果是,我如何将文本框的值作为查询参数传递给数据网格。

  3. 下面列出的是我的相关代码

            function reload(){
            dijit.byId("mygrid").refresh;
        }
    
    
         <div class="test"> 
                <input id="searchParam" >
                <button dojoType="dijit.form.Button" type="submit" onclick=reload()>
                    Search
                </button> 
    
    
            </div>
    
        <div    dojoType="dojox.grid.DataGrid"
                                    id="mygrid" 
                                    jsid="mygrid"
                                          store="dojox.data.JsonRestStore"
         target="<c:url value='members' />">
                                    query="{ 
                                    searchCriteria: ? TODO How to pass value of text box here?,
    
                                    }"
                                    rowsPerPage="1000"
                                    autoWidth="true"
    
                                    autoHeight="true"
                                    selectionMode="single"
                                    selectable="true"
                                    errorMessage="Error loading data"
                                    noDataMessage="<span class='dojoxGridNoData'>No members found.</span>">
                    </div>
    

1 个答案:

答案 0 :(得分:0)

您应该可以执行以下操作:

function reload() {
    var val = dojo.byId('searchParam').attr('value');
    dijit.byId("mygrid").setQuery({ propName: val });
}

您需要正确构建查询{ propName: val }