Что я могу сделать с изменениями моего ListView между двумя различными типами данных? - PullRequest
0 голосов
/ 16 мая 2018

Вот мой список просмотра:

public ListView<Consulta> lstViewLista;

Здесь я хочу, чтобы мой список был таким, какой он есть (listView<Consulta>):

public void btnDireitaOnAction(ActionEvent event){
    ObservableList<Consulta> consultaData = FXCollections.observableArrayList();
    try {
        consultaData.addAll(ConsultaDAO.buscarPorData(Agenda.getData()));
    } catch (Exception e) {
        System.err.println("Erro: Impossível encontrar as consultas.");
        e.printStackTrace();
    }
    lstViewLista.setItems(consultaData);
}

Но здесь я хочу, чтобы мой список был похож на listView<Paciente>:

public void btnDireitaOnAction(ActionEvent event){
ObservableList<Paciente> pacienteData = FXCollections.observableArrayList();
try {
    pacienteData.addAll(PacienteDAO.buscarPorData(Agenda.getData()));
} catch (Exception e) {
    System.err.println("Erro: Impossível encontrar os pacientes.");
    e.printStackTrace();
}
lstViewLista.setItems(pacienteData);

}

Как я могу переключаться между ними? Кто-то, помогите T_T

1 Ответ

0 голосов
/ 16 мая 2018

Вы определяете lstViewLista как ListView типа <Consulta>, поэтому, вероятно, не стоит менять его тип.Почему бы не иметь два ListView с одного типа <Consulta> и одного типа <Paciente>, как это?

ListView<Consulta> lstViewConsulta;
ListView<Paciente> lstViewPaciente;

Вы можете переключать отображаемую информацию, добавляя и удаляя ее из родительского узла, используя Node.getChildren() или используя setManaged () и setVisible (), например:

//hide lstViewConsulta and show lstViewPaciente
lstViewConsulta.setVisible(false);
lstViewConsulta.setManaged(false);
lstViewPaciente.setVisible(true);
lstViewPaciente.setManaged(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...