晚上好。我被要求更新在RichFaces中实现的Web应用程序。该应用程序在复合组件内部有一个rich:extendedDataTable,它显示一些可搜索的数据。我被要求实现的更新是在提交搜索时自动选择表格中的第一行。我找不到从支持bean那里做到这一点的方法,但我确实看到它可以通过调用selectRow和setActiveRow函数来完成JavaScript API,但问题是我需要'clientId'的表,如果我检查DOM并获取表的客户端ID,让我们说“垃圾:tableId”,并将其硬编码到函数中,
#{rich:component('junk:tableId')}.selectRow(0);
#{rich:component('junk:tableId')}.setActiveRow(0});
事情就像我需要他们一样。为了检索clientId,我找到了rich:clientId函数,我确认了rich:clientId('tableId')返回了我从DOM获得的clientId,所以我更新了原来的函数调用
#{rich:component('rich:clientId('tableId')')}.selectRow(0);
#{rich:component('rich:clientId('tableId')')}.setActiveRow(0});
它不起作用,现在我不知道该尝试什么。有谁知道我能尝试什么?
答案 0 :(得分:1)
您可以使用#{rich:component('tableId')}
,函数内部调用clientId
。
#{rich:component('rich:clientId('tableId')')}
这应该是一个解析错误。单引号标记字符串,而不是方法参数。