[Tapestry4] tapestry tacos表格组件中行数据绑定问题

ylyqsm 2007-04-11

我用tacos结合tapestry 的workbench中带复选框的表格做了一个实现局部刷新的带复选框的表格,在表格中将tablerow对象中的row绑定给自定义的一个属性对象;

问题所在:
   当表格存在多页,翻页后,我选择复选对象后,提交表单,在表单中取得的行对象确实第一页中对应行的内容,非当前页中的内容

问题产生原因:
   由于是使用的tacos的机制,在点击翻页后,只刷新了表格本身,整个页面并未提交,此时的行对象还是保留在第一次进入页面时绑定的表格行对象;

求解:
   如何才能做到在表格翻页、跳转后做表单的提交,或者在实现局部刷新的时候,行对象也能对应更新。

  由于程序在公司做的,不能提供源码给大家帮我检查,希望有类似的解决办法

  
tapestry 2007-04-11
你更新时将form的内容包含到updateComponents中
ylyqsm 2007-04-12
现在这个问题倒是解决了(在tacos表中配合使用tacos对应的AjaxForm和AjaxSubmit之类得tacos组件就可),但是还有一个问题,就是我用得contril得check组件,check组件非tacos组件(tacos没有),在翻页后,如果对应得数据行数和首次渲染时得表格数据行数不同,就会出现js错误,

产生原因,是tapestry contril库种check组件在表格首次渲染时生成了对应每一行得checkbox,但是当在(tacos)翻页后,只是表格数据发生改变,之前生成得checkbox没有变化,在点击全选(checkbox)时,对应得js程序会去更改之前生成的checkbox,但是当前页面肯定是不存在部分checkbox的,所以就报js错了;

不知道tapestry大侠有何高招?
Global site tag (gtag.js) - Google Analytics