【问题标题】:RichFaces 4 ExtendedDataTable - Selecting rows programmaticallyRichFaces 4 ExtendedDataTable - 以编程方式选择行
【发布时间】:2015-06-05 03:41:22
【问题描述】:

晚上好。我被要求更新在 RichFaces 中实现的网络应用程序。该应用程序在显示一些可搜索数据的复合组件内有一个rich:extendedDataTable。我被要求实施的更新是在提交搜索时自动选择表中的第一行。我找不到从支持 bean 执行此操作的方法,但我确实看到它可以使用 JavaScript API 通过调用 selectRow 和 setActiveRow 函数来完成,但问题是我需要'clientId'表,如果我检查 DOM 并获取表的客户端 ID,比如说“junk:tableId”,然后我将其硬编码到函数中,

#{rich:component('junk:tableId')}.selectRow(0); 
#{rich:component('junk:tableId')}.setActiveRow(0});

事情就像我需要的那样工作。为了检索 clientId,我找到了 rich:clientId 函数,并且我确认 rich:clientId('tableId') 返回的 clientId 与我从 DOM 获得的相同,所以我更新了我原来的函数调用

#{rich:component('rich:clientId('tableId')')}.selectRow(0); 
#{rich:component('rich:clientId('tableId')')}.setActiveRow(0});

而且它不起作用,现在我不确定要尝试什么。有谁知道我可以尝试什么?

【问题讨论】:

    标签: javascript jsf richfaces


    【解决方案1】:

    你可以直接使用#{rich:component('tableId')},反正函数内部调用clientId

    #{rich:component('rich:clientId('tableId')')}
    

    这应该会给你一个解析错误。单引号标记一个字符串,而不是方法参数。

    【讨论】:

    • 哇,我可以发誓我昨天试过了。我一定会失去它。谢谢!
    猜你喜欢
    • 2011-07-23
    • 2011-12-25
    • 2011-01-03
    • 2012-11-28
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-02-07
    相关资源
    最近更新 更多