MyRcp技术论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用新浪微博连接

一步搞定

搜索
查看: 124|回复: 0

[教程/资源] ADF 修改表格的其中一条数据,却显示第一条数据的问题的解 [复制链接]

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    2011-11-8 10:23:42
  • 签到天数: 99 天

    [LV.6]常住居民II

    积分
    3973
    威望
    296
    金币
    2569 个
    贡献
    600
    帖子
    207
    精华
    1
    发表于 2011-10-13 11:29:21 |显示全部楼层
    先看问题如下图,鼠标当前是选中的第2条,点右边的edit按钮,弹出的dialog里确显示的是第一条的数据:


    原因是因为:虽然table高亮的是第2条,但是table IteratorBinding的current row却不是。

    所以解决方法可以这样:
    一,给页面添加atferphase事件
      <f:view locale="#{sessionScope.Lang}"
        afterPhase="#{backingBeanScope.backing_attendance_attendanceEdit.afterPhase}">

    二,给table手动设置当前行为当前选中的行
      public void afterPhase(PhaseEvent phaseEvent) {
        if(phaseEvent.getPhaseId() == PhaseId.RENDER_RESPONSE){
          makeTableCurrentRowWithSelectedRowKey(t1);
        }
      }

      public void makeTableCurrentRowWithSelectedRowKey(RichTable _table) {
        CollectionModel _tableModel = (CollectionModel) _table.getValue();
        JUCtrlHierBinding _adfTableBinding = (JUCtrlHierBinding) _tableModel.getWrappedData();
        DCIteratorBinding _tableIteratorBinding = _adfTableBinding.getDCIteratorBinding();
        Object _selectedRowData = _table.getSelectedRowData();
        JUCtrlHierNodeBinding _nodeBinding = (JUCtrlHierNodeBinding) _selectedRowData;
        Key _rwKey = (_nodeBinding==null)? null: _nodeBinding.getRowKey();
        _tableIteratorBinding.setCurrentRowWithKey((_rwKey==null)? null : _rwKey.toStringFormat(true));
      }
    附件: 你需要登录才可以下载或查看附件。没有帐号?注册
    傻子不多,坏人哪里够用
    您需要登录后才可以回帖 登录 | 注册

    无觅相关文章插件

    手机版|MyRcp

    GMT+8, 2012-2-23 14:06 , Processed in 1.434302 second(s), 19 queries .

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    回顶部