0
我試圖將文本框中的值作爲dojo數據網格中的查詢參數傳遞,並希望在下面列出的兩個問題上得到澄清。道場電網啓動與查詢參數調用服務器發起搜索,並帶回結果(即在數據網格diplayed)將文本框的值傳遞給dojo網格的查詢參數
是否有可能基於價值重新加載網格通過調用刷新(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>
Thanks @Craig Swing。我能夠調用reload()函數並在網格上使用.setQuery。我還在網格中運行了一個filter()方法,它確實會對服務器產生類似的調用,但網格不會刷新。 – aprajitha 2012-07-31 17:15:30
當我點擊一個按鈕(onClick事件)時,我能夠調用重載js()。你知道如何在用戶按下文本框上的ENTER鍵時調用相同的功能。我不確定哪個事件會觸發此事。我嘗試使用dojo表單(dijit.form.Form)並在'onSubmit'事件中調用js。這似乎導致整個頁面重新加載並且也沒有傳遞所需的參數(從而導致調用不同的控制器方法)。有沒有一種方法可以避免使用dijit.form.Form,但在用戶單擊ENTER鍵時仍會觸發重新加載js。 – aprajitha 2012-07-31 17:35:51
不要介意我先前的查詢。從不同的帖子進入[示例](http://jsfiddle.net/x3MMA/)。它沒有做一個完整的頁面重新加載,但它仍然使用diji.Form。必須更好地理解它。我想在我的第一個例子中,我沒有做stopEvent()。 – aprajitha 2012-07-31 18:49:04