我有一个连接到某个商店的DataGrid。我希望它在更改后立即保存。
只有一个可编辑列,其中3个选项下拉列表设置为始终编辑定义如下:
<table data-dojo-type="dojox.grid.EnhancedGrid" id="leaveGrid" data-dojo-id="leaveGrid"
selectable=false singleClickEdit="true">
<thead>
<tr>
<th field="TITLE" width="25%">Title</th>
<th field="REQUESTEDON" width="15%">Requested</th>
<th field="CODE" width="15%">Code</th>
<th field="LEAVEDATE" width="15%">Leave Date</th>
<th field="HRS" width="15%">Hours</th>
<th field="STATUS" width="15%" editable="true" alwaysEditing="true" cellType="dojox.grid.cells.Select" options='<?php echo $this->statusOptions;?>'>Status</th>
</tr>
</thead>
</table>
下拉列表的选项由php填充,但这应该不是问题。
我建立了以下连接:
dojo.connect(gridStore, 'onSet', saveStore);
用于处理商店的保存。
现在问题是我点击下拉列表,更改选项并且......没有任何反应。除非我点击输入或点击屏幕上的其他地方(如果你愿意改变焦点或选择),任何事件都不会触发;只有这样才会引发事件。
我应该使用不同的活动吗?如果用户更改此数据并且无需进一步交互,我该怎么做才能保存这些数据?
答案 0 :(得分:0)
你可以在这里做几件事:
1)使用onClick而不是onSet
2)使用需要Enter键或模糊的onApplyCellEdit事件。您可以向用户显示有关如何使用内联编辑的工具提示
3)检查网格生成的html并将处理程序附加到select下拉列表的id / class / name