我试图将文本框中的值作为dojo数据网格中的查询参数传递,并希望澄清下面列出的两个问题。 dojo网格使用查询参数启动对服务器的调用,以启动搜索并返回结果(显示在数据网格上)
是否可以通过调用refresh(dijit.byId(“mygrid”)来重新加载基于文本中的值的网格。刷新
如果是,我如何将文本框的值作为查询参数传递给数据网格。
下面列出的是我的相关代码
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>
答案 0 :(得分:0)
您应该可以执行以下操作:
function reload() {
var val = dojo.byId('searchParam').attr('value');
dijit.byId("mygrid").setQuery({ propName: val });
}
您需要正确构建查询{ propName: val }
。