为了账号安全,请及时绑定邮箱和手机立即绑定

如何在两个时间戳之间存在的 java fx 8 表视图中显示数据

如何在两个时间戳之间存在的 java fx 8 表视图中显示数据

炎炎设计 2023-03-23 15:10:04
我有一个问题,我找不到解决方案。我正在尝试过滤我的 javafx8 tableview,但我遇到了问题。我不知道如何只显示两个时间戳之间存在的数据。编辑:明确地说,我想知道如何使用文本字段为行配置开始和结束PS:我的tableview截图:我已经看过https://code.makery.ch/blog/javafx-8-tableview-sorting-filtering/。我在创建适当的 时遇到了麻烦Predicate,他们在 tuto 中向您展示了如何仅显示具有相同信息的信息。我想显示两者之间存在的信息。PS:项目类型是时间戳
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

confirmdatebtn1.setOnAction(new EventHandler<ActionEvent>(){

                   @Override public void handle(ActionEvent e) {

                        filterData.setPredicate(table -> {

                            if ((todatetxt.getText() == null &&fromdatetxt.getText() == null) ||

                                    (todatetxt.getText().isEmpty()&&fromdatetxt.getText().isEmpty()) ) {

                                return true;}

                try {

                        String fromtext = fromdatetxt.getText();

                        String totext = todatetxt.getText();

                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");

                        Date date1 = null;

                        Date date2 = null;

                        Timestamp timestamp1 = null;

                        Timestamp timestamp2 = null;


                        if(todatetxt.getText().isEmpty() && !fromdatetxt.getText().isEmpty()) {

                                date1 = format.parse(fromtext+" 00:00:00.000");

                                timestamp1 = new java.sql.Timestamp(date1.getTime());

                                if (table.getTime_of_action().after(timestamp1) ) 

                                {return true;}

                        }

                        if(!todatetxt.getText().isEmpty() && fromdatetxt.getText().isEmpty()) {

                            date2 = format.parse(totext+" 23:59:59.000");

                            timestamp2 = new java.sql.Timestamp(date2.getTime());

                            if (table.getTime_of_action().before(timestamp2) ) 

                            {return true;}

                        }

                        if(!todatetxt.getText().isEmpty()  && !fromdatetxt.getText().isEmpty()) {

                            date1 = format.parse(fromtext+" 00:00:00.000");

                            date2 = format.parse(totext+" 23:59:59.999");


                            timestamp1 = new java.sql.Timestamp(date1.getTime());

                            timestamp2 = new java.sql.Timestamp(date2.getTime());


                            if (table.getTime_of_action().before(timestamp2) &&table.getTime_of_action().after(timestamp1)) 

                            {return true;}

                        }


                    } catch (Exception e1) {


                    }


                        return false; 

            });} });*** i wrote this code and it came out good so my probleme is resolved thanks to your help guys***



查看完整回答
反对 回复 2023-03-23
  • 1 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信