当我整理我的Grid
(使用自定义提供的GridDataSource
从数据库中提取数据时,在数据库端完成排序)通过单击排序图标,我的网格重复,如同在当前网格的副本中显示在它下面。以下任何网格排序事件仅影响我单击排序列的网格。例如,如果我单击以排序第一个网格中的第一列,则第二个网格不受影响,反之亦然。当我刷新页面时,第二个网格消失,然后事情再次从方块1开始。
我已经尝试过Thiago H. de Paula Figueiredo的建议说我可以尝试将区域的身体而不是区域本身传递给addRender
方法,但是没有结果。
编辑:添加代码。
我的网页结构:
<t:zone t:id="zone1" id="zone1">
<t:form t:id="form1" id="form1" t:zone="zone1">
<t:beaneditor t:id="filterEditor" t:object="filter">
</t:beaneditor>
...
<input id="submitFilter" t:id="submitFilter" class="button" t:type="submit" value="Submit" zone="zone1"/>
</t:form>
<t:form t:id="form2" id="form2" t:zone="^">
<input id="resetFilter" t:id="resetFilter" class="button" t:type="submit" value="Reset" zone="zone1"/>
</t:form>
</t:zone>
<t:zone t:id="zone2" id="zone2">
<t:form t:id="form3" id="form3" t:zone="^" t:autofocus="true">
...
<input type="submit" value="Cancel" class="button"/>
</t:form>
</t:zone>
<t:zone t:id="zone3" id="zone3">
<t:form t:id="form4" id="form4" t:zone="^" t:autofocus="false">
<t:errors/>
<table>
<t:grid t:source="dataSource"
t:model="beanModel"
t:row="entry"
t:encoder="encoder"
t:rowsPerPage="5"
t:pagerPosition="both"
t:inplace="true">
<p:cell1>
...
</p:cell1>
<p:cell2>
...
</p:cell2>
<p:cell3>
...
</p:cell3>
<p:cell4>
...
</p:cell4>
<p:cell5>
...
</p:cell5>
</t:grid>
</table>
</t:form>
</t:zone>
当我单击以对zone3中的网格上的单元格进行排序时(排序在DB端,通过SQL完成),表格HTML重复并作为另一个单独的表格。
我尝试过这样更新我的区域:
if (request.isXHR()) {
ajaxResponseRendered.addRender(zone1).addRender(zone2).addRender(zone3);
}
并且像这样:
if (request.isXHR()) {
ajaxResponseRendered.addRender(zone1.getCliendId(), zone1.getBody()).addRender(zone2.getCliendId(), zone2.getBody()).addRender(zone3.getCliendId(), zone3.getBody());
}
但它不起作用。