使用数据库中的值重新加载数据表

时间:2011-11-25 12:03:12

标签: java primefaces

我目前有一个数据表,显示从我的数据库(用户表)获取的用户列表。我的应用程序允许我执行以下操作:

  • 选择一个组
  • 选择用户
  • 添加
  • UserGroups数据表显示已添加的组和用户。

添加的用户不会显示在用户数据表中 - 也就是说,只有在视图中才会显示用户。但是,用户仍然存在于数据库表中。

(这在我的网络视图中发生)

例如:

Group:

 1. Web
 2. Projects
 3. Management

User:

 1. Tom
 2. Jane
 3. John

我选择1个组和1个用户,然后将其添加到用户组。

UserGroup:

 1. Management, John

AND用户和组表显示以下内容:

组:

 1. Web
 2. Projects
 3. Management

用户:

 1. Tom
 2. Jane

如何刷新User表,以便从数据库中获取新的用户列表以进行另一轮选择?因为一旦我添加了所有用户,User表就是空的,当我点击一个新的组进行选择时,我希望刷新用户数据表。

关于我如何这样做的任何线索或建议......我一无所知。

我目前在managedBean中有以下方法:

我检索用户,组和用户组列表的方法。

 public List<Usuarious> getListOfUsuarios() throws DAOExceptions{
        List<Usuarious> usuariosList = userDAO.list();
        listOfUsuarios = usuariosList;
        return listOfUsuarios;
    }

    public List<Grupos> getListOfGrps() throws DAOExceptions {
        List<Grupos> grpList = grpDAO.list();
        listOfGrps = grpList;
        return listOfGrps;
    }

    public List<UsuariousGrupos> getListOfUserGroups() throws DAOExceptions{
        List<UsuariousGrupos> usuariosGruposList = userGrpDAO.list(var2);
        listOfUserGroups = usuariosGruposList;
        return listOfUserGroups;
    }

我想过只创建一个refreshList()方法:

   public void refreshList() throws DAOExceptions{
        listOfUsuarios = getListOfUsuarios();
    }

然后将其添加到我的finishAddUser()方法列表中以刷新数据表:

   public void finishAddUsuariosGrupos()throws DAOExceptions {
        this.userGroups.setId_grupo(var2);
        this.userGroups.setId_usuario(var1);
        userGrpDAO.create(userGroups);
        refreshList();

    }

但它没有成功。

1 个答案:

答案 0 :(得分:0)

我有一个类似的数据表刷新问题。我通过将settimeout添加到数据表中来解决它:

<webuijsf:table onClick="setTimeout('#{user$reports.updateGeneratedReportList()}',500);"/>

updateGeneratedReportList方法等于你的refreshList方法。