我有一个组合框和一个datagrid在我的页面。当用户改变组合框的值,我必须更新网格与儿童的详细信息,新选定的父。我如何才能实现这一点使用Dojo组合框和datagrid。
下面的代码片段对我不起作用。当我在网格上使用setStore方法与新的json数据。
<div dojoType="dojo.data.ItemFileReadStore" jsId="store" url="/child/index/"></div> // grid store
<div dojoType="dojo.data.ItemFileReadStore" jsId="parentStore" url="/parent/index/"></div> // combo box store
//下拉式方块
<input dojoType="dijit.form.ComboBox" value="Select" width="auto" store="parentStore" searchAttr="name" name="parent" id="parent" onchange="displayChildren()">
//我的网格
<table dojoType="dojox.grid.DataGrid" jsId="grid" store="store" id="display_grid"
query="{ child_id: '*' }" rowsPerPage="2" clientSort="true"
singleClickEdit="false" style="width: 90%; height: 400px;"
rowSelector="20px" selectionMode="multiple">
<thead>
<tr>
<th field="child_id" name="ID" width="auto" editable="false"
hidden="true">Text</th>
<th field="parent_id" name="Parent" width="auto"
editable="false" hidden="true">Text</th>
<th field="child_name" name="child" width="300px" editable="false">Text</th>
<th field="created" name="Created Date" width="200px"
editable="false" cellType='dojox.grid.cells.DateTextBox'
datePattern='dd-MMM-yyyy'></th>
<th field="last_updated" name="Updated Date" width="200px"
editable="false" cellType='dojox.grid.cells.DateTextBox'
datePattern='dd-MMM-yyyy'></th>
<th field="child_id" name="Edit/Update" formatter="fmtEdit"></th>
</tr>
</thead>
</table>
//onchange父组合框的方法,我试图在其中从服务器用新数据重新加载网格。
function displayChildren() {
var selected = dijit.byId("parent").attr("value");
var grid = dojo.byId('display_grid');
var Url = "/childsku/index/parent/" + selected;
grid.setStore(new dojo.data.ItemFileReadStore({ url: Url }));
}
但是它没有用新内容更新我的网格,我不知道如何在每次用户更改组合框值时刷新网格。
如果能同时获得ItemFileReadStore和ItemFileWrireStore的解决方案,我会非常高兴。
1条答案
按热度按时间wbrvyc0a1#
我想你错过了**fetch()**这一步,下面是我编写事件处理程序的方法: