Java TableView not populating only one column



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I cannot seem to get one of my Table View columns to populate. The column with the issue is my 'complianceReq'. It is strange because if I swap my 'brandName' into the 'complianceReq' it will show the brand name information correctly. However I cannot seem to get the 'complianceReq' to show up. I have tried to use both boolean and a String version with no success.



I can confirm the variables do have true/false or Yes/No depending on which version I'm trying.



I can also see that the Getter method is not being called as well.



The code for the classes i'm using is here: https://pastebin.com/gswutwk0



This is my Controller Class:



private DBReader dbr;

@FXML
public TableView<JobSummaryData> tblView;

@FXML
public void updateTable()

ObservableList<JobSummaryData> obLst = FXCollections.observableArrayList(dbr.getJobSummary());

tblView.getColumns().clear();
tblView.setItems(obLst);

TableColumn<JobSummaryData,Integer> colJobItem = new TableColumn<JobSummaryData,Integer>("Job Item Id");
colJobItem.setCellValueFactory(new PropertyValueFactory<JobSummaryData,Integer>("jobItemId"));

TableColumn<JobSummaryData,String> colBrandName = new TableColumn<JobSummaryData,String>("Brand Name");
colBrandName.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("brandName"));

TableColumn<JobSummaryData,String> colCompliance = new TableColumn<JobSummaryData,String>("Compliance Required");
colCompliance.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("complianceReq"));

TableColumn<JobSummaryData,String> colLink = new TableColumn<JobSummaryData,String>("Survey Link");
colLink.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("surveyLink"));

tblView.getColumns().addAll(colJobItem, colBrandName, colCompliance, colLink);


@Override
public void initialize(URL arg0, ResourceBundle arg1)
dbr = new DBReader();



This is my JobSummaryData class:



private int jobItemId, submittedMinutes;
private String brandName, storeId, storeName, storeLocation, jobType, status, merchandiserName, agentNumber, areaManagerName, uncompleteReason; //complianceReq
private String eMail, mobile, surveyLink; //TBA Pref contact method
private boolean complianceRequired;
private Date jobDate;

public JobSummaryData(ResultSet rs) throws SQLException

jobItemId = rs.getInt("jobitemid");
submittedMinutes = rs.getInt("submittedminutes");

brandName = rs.getString("brandname");

storeId = rs.getString("storeid");
storeName = rs.getString("storename");
storeLocation = rs.getString("storelocation");
jobType = rs.getString("jobtype");
status = rs.getString("Status");
merchandiserName = rs.getString("merchandisername");
agentNumber = rs.getString("agentnumber");
areaManagerName = rs.getString("areamanagername");
uncompleteReason = rs.getString("uncompletereason");

eMail = rs.getString("Email");
mobile = rs.getString("Mobile");
surveyLink = rs.getString("SurveyLink");

complianceRequired = rs.getBoolean("ComplianceRequired");
/*if(rs.getBoolean("ComplianceRequired"))
complianceReq = "Yes";

else
complianceReq = "No";
*/

jobDate = rs.getDate("jobdate");


public int getJobItemId() return jobItemId;
public int getSubmittedMins() return submittedMinutes;

public String getBrandName() return brandName;
public String getStoreId() return storeId;
public String getStoreName() return storeName;
public String getStoreLocation() return storeLocation;
public String getJobType() return jobType;
public String getJobStatus() return status;
public String getMerchName() return merchandiserName;
public String getAgentNum() return agentNumber;
public String getAreaManagerNum() return areaManagerName;
public String getUncompReason() return uncompleteReason;

public String getEMail() return eMail;
public String getMobile() return mobile;
public String getSurveyLink() return surveyLink;

//public String getComplianceRequired() return complianceReq;
public boolean getComplianceBool() return complianceRequired;

public Date getJobDate() return jobDate;


What have I missed?
Thanks










share|improve this question




























    0















    I cannot seem to get one of my Table View columns to populate. The column with the issue is my 'complianceReq'. It is strange because if I swap my 'brandName' into the 'complianceReq' it will show the brand name information correctly. However I cannot seem to get the 'complianceReq' to show up. I have tried to use both boolean and a String version with no success.



    I can confirm the variables do have true/false or Yes/No depending on which version I'm trying.



    I can also see that the Getter method is not being called as well.



    The code for the classes i'm using is here: https://pastebin.com/gswutwk0



    This is my Controller Class:



    private DBReader dbr;

    @FXML
    public TableView<JobSummaryData> tblView;

    @FXML
    public void updateTable()

    ObservableList<JobSummaryData> obLst = FXCollections.observableArrayList(dbr.getJobSummary());

    tblView.getColumns().clear();
    tblView.setItems(obLst);

    TableColumn<JobSummaryData,Integer> colJobItem = new TableColumn<JobSummaryData,Integer>("Job Item Id");
    colJobItem.setCellValueFactory(new PropertyValueFactory<JobSummaryData,Integer>("jobItemId"));

    TableColumn<JobSummaryData,String> colBrandName = new TableColumn<JobSummaryData,String>("Brand Name");
    colBrandName.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("brandName"));

    TableColumn<JobSummaryData,String> colCompliance = new TableColumn<JobSummaryData,String>("Compliance Required");
    colCompliance.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("complianceReq"));

    TableColumn<JobSummaryData,String> colLink = new TableColumn<JobSummaryData,String>("Survey Link");
    colLink.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("surveyLink"));

    tblView.getColumns().addAll(colJobItem, colBrandName, colCompliance, colLink);


    @Override
    public void initialize(URL arg0, ResourceBundle arg1)
    dbr = new DBReader();



    This is my JobSummaryData class:



    private int jobItemId, submittedMinutes;
    private String brandName, storeId, storeName, storeLocation, jobType, status, merchandiserName, agentNumber, areaManagerName, uncompleteReason; //complianceReq
    private String eMail, mobile, surveyLink; //TBA Pref contact method
    private boolean complianceRequired;
    private Date jobDate;

    public JobSummaryData(ResultSet rs) throws SQLException

    jobItemId = rs.getInt("jobitemid");
    submittedMinutes = rs.getInt("submittedminutes");

    brandName = rs.getString("brandname");

    storeId = rs.getString("storeid");
    storeName = rs.getString("storename");
    storeLocation = rs.getString("storelocation");
    jobType = rs.getString("jobtype");
    status = rs.getString("Status");
    merchandiserName = rs.getString("merchandisername");
    agentNumber = rs.getString("agentnumber");
    areaManagerName = rs.getString("areamanagername");
    uncompleteReason = rs.getString("uncompletereason");

    eMail = rs.getString("Email");
    mobile = rs.getString("Mobile");
    surveyLink = rs.getString("SurveyLink");

    complianceRequired = rs.getBoolean("ComplianceRequired");
    /*if(rs.getBoolean("ComplianceRequired"))
    complianceReq = "Yes";

    else
    complianceReq = "No";
    */

    jobDate = rs.getDate("jobdate");


    public int getJobItemId() return jobItemId;
    public int getSubmittedMins() return submittedMinutes;

    public String getBrandName() return brandName;
    public String getStoreId() return storeId;
    public String getStoreName() return storeName;
    public String getStoreLocation() return storeLocation;
    public String getJobType() return jobType;
    public String getJobStatus() return status;
    public String getMerchName() return merchandiserName;
    public String getAgentNum() return agentNumber;
    public String getAreaManagerNum() return areaManagerName;
    public String getUncompReason() return uncompleteReason;

    public String getEMail() return eMail;
    public String getMobile() return mobile;
    public String getSurveyLink() return surveyLink;

    //public String getComplianceRequired() return complianceReq;
    public boolean getComplianceBool() return complianceRequired;

    public Date getJobDate() return jobDate;


    What have I missed?
    Thanks










    share|improve this question
























      0












      0








      0








      I cannot seem to get one of my Table View columns to populate. The column with the issue is my 'complianceReq'. It is strange because if I swap my 'brandName' into the 'complianceReq' it will show the brand name information correctly. However I cannot seem to get the 'complianceReq' to show up. I have tried to use both boolean and a String version with no success.



      I can confirm the variables do have true/false or Yes/No depending on which version I'm trying.



      I can also see that the Getter method is not being called as well.



      The code for the classes i'm using is here: https://pastebin.com/gswutwk0



      This is my Controller Class:



      private DBReader dbr;

      @FXML
      public TableView<JobSummaryData> tblView;

      @FXML
      public void updateTable()

      ObservableList<JobSummaryData> obLst = FXCollections.observableArrayList(dbr.getJobSummary());

      tblView.getColumns().clear();
      tblView.setItems(obLst);

      TableColumn<JobSummaryData,Integer> colJobItem = new TableColumn<JobSummaryData,Integer>("Job Item Id");
      colJobItem.setCellValueFactory(new PropertyValueFactory<JobSummaryData,Integer>("jobItemId"));

      TableColumn<JobSummaryData,String> colBrandName = new TableColumn<JobSummaryData,String>("Brand Name");
      colBrandName.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("brandName"));

      TableColumn<JobSummaryData,String> colCompliance = new TableColumn<JobSummaryData,String>("Compliance Required");
      colCompliance.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("complianceReq"));

      TableColumn<JobSummaryData,String> colLink = new TableColumn<JobSummaryData,String>("Survey Link");
      colLink.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("surveyLink"));

      tblView.getColumns().addAll(colJobItem, colBrandName, colCompliance, colLink);


      @Override
      public void initialize(URL arg0, ResourceBundle arg1)
      dbr = new DBReader();



      This is my JobSummaryData class:



      private int jobItemId, submittedMinutes;
      private String brandName, storeId, storeName, storeLocation, jobType, status, merchandiserName, agentNumber, areaManagerName, uncompleteReason; //complianceReq
      private String eMail, mobile, surveyLink; //TBA Pref contact method
      private boolean complianceRequired;
      private Date jobDate;

      public JobSummaryData(ResultSet rs) throws SQLException

      jobItemId = rs.getInt("jobitemid");
      submittedMinutes = rs.getInt("submittedminutes");

      brandName = rs.getString("brandname");

      storeId = rs.getString("storeid");
      storeName = rs.getString("storename");
      storeLocation = rs.getString("storelocation");
      jobType = rs.getString("jobtype");
      status = rs.getString("Status");
      merchandiserName = rs.getString("merchandisername");
      agentNumber = rs.getString("agentnumber");
      areaManagerName = rs.getString("areamanagername");
      uncompleteReason = rs.getString("uncompletereason");

      eMail = rs.getString("Email");
      mobile = rs.getString("Mobile");
      surveyLink = rs.getString("SurveyLink");

      complianceRequired = rs.getBoolean("ComplianceRequired");
      /*if(rs.getBoolean("ComplianceRequired"))
      complianceReq = "Yes";

      else
      complianceReq = "No";
      */

      jobDate = rs.getDate("jobdate");


      public int getJobItemId() return jobItemId;
      public int getSubmittedMins() return submittedMinutes;

      public String getBrandName() return brandName;
      public String getStoreId() return storeId;
      public String getStoreName() return storeName;
      public String getStoreLocation() return storeLocation;
      public String getJobType() return jobType;
      public String getJobStatus() return status;
      public String getMerchName() return merchandiserName;
      public String getAgentNum() return agentNumber;
      public String getAreaManagerNum() return areaManagerName;
      public String getUncompReason() return uncompleteReason;

      public String getEMail() return eMail;
      public String getMobile() return mobile;
      public String getSurveyLink() return surveyLink;

      //public String getComplianceRequired() return complianceReq;
      public boolean getComplianceBool() return complianceRequired;

      public Date getJobDate() return jobDate;


      What have I missed?
      Thanks










      share|improve this question














      I cannot seem to get one of my Table View columns to populate. The column with the issue is my 'complianceReq'. It is strange because if I swap my 'brandName' into the 'complianceReq' it will show the brand name information correctly. However I cannot seem to get the 'complianceReq' to show up. I have tried to use both boolean and a String version with no success.



      I can confirm the variables do have true/false or Yes/No depending on which version I'm trying.



      I can also see that the Getter method is not being called as well.



      The code for the classes i'm using is here: https://pastebin.com/gswutwk0



      This is my Controller Class:



      private DBReader dbr;

      @FXML
      public TableView<JobSummaryData> tblView;

      @FXML
      public void updateTable()

      ObservableList<JobSummaryData> obLst = FXCollections.observableArrayList(dbr.getJobSummary());

      tblView.getColumns().clear();
      tblView.setItems(obLst);

      TableColumn<JobSummaryData,Integer> colJobItem = new TableColumn<JobSummaryData,Integer>("Job Item Id");
      colJobItem.setCellValueFactory(new PropertyValueFactory<JobSummaryData,Integer>("jobItemId"));

      TableColumn<JobSummaryData,String> colBrandName = new TableColumn<JobSummaryData,String>("Brand Name");
      colBrandName.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("brandName"));

      TableColumn<JobSummaryData,String> colCompliance = new TableColumn<JobSummaryData,String>("Compliance Required");
      colCompliance.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("complianceReq"));

      TableColumn<JobSummaryData,String> colLink = new TableColumn<JobSummaryData,String>("Survey Link");
      colLink.setCellValueFactory(new PropertyValueFactory<JobSummaryData,String>("surveyLink"));

      tblView.getColumns().addAll(colJobItem, colBrandName, colCompliance, colLink);


      @Override
      public void initialize(URL arg0, ResourceBundle arg1)
      dbr = new DBReader();



      This is my JobSummaryData class:



      private int jobItemId, submittedMinutes;
      private String brandName, storeId, storeName, storeLocation, jobType, status, merchandiserName, agentNumber, areaManagerName, uncompleteReason; //complianceReq
      private String eMail, mobile, surveyLink; //TBA Pref contact method
      private boolean complianceRequired;
      private Date jobDate;

      public JobSummaryData(ResultSet rs) throws SQLException

      jobItemId = rs.getInt("jobitemid");
      submittedMinutes = rs.getInt("submittedminutes");

      brandName = rs.getString("brandname");

      storeId = rs.getString("storeid");
      storeName = rs.getString("storename");
      storeLocation = rs.getString("storelocation");
      jobType = rs.getString("jobtype");
      status = rs.getString("Status");
      merchandiserName = rs.getString("merchandisername");
      agentNumber = rs.getString("agentnumber");
      areaManagerName = rs.getString("areamanagername");
      uncompleteReason = rs.getString("uncompletereason");

      eMail = rs.getString("Email");
      mobile = rs.getString("Mobile");
      surveyLink = rs.getString("SurveyLink");

      complianceRequired = rs.getBoolean("ComplianceRequired");
      /*if(rs.getBoolean("ComplianceRequired"))
      complianceReq = "Yes";

      else
      complianceReq = "No";
      */

      jobDate = rs.getDate("jobdate");


      public int getJobItemId() return jobItemId;
      public int getSubmittedMins() return submittedMinutes;

      public String getBrandName() return brandName;
      public String getStoreId() return storeId;
      public String getStoreName() return storeName;
      public String getStoreLocation() return storeLocation;
      public String getJobType() return jobType;
      public String getJobStatus() return status;
      public String getMerchName() return merchandiserName;
      public String getAgentNum() return agentNumber;
      public String getAreaManagerNum() return areaManagerName;
      public String getUncompReason() return uncompleteReason;

      public String getEMail() return eMail;
      public String getMobile() return mobile;
      public String getSurveyLink() return surveyLink;

      //public String getComplianceRequired() return complianceReq;
      public boolean getComplianceBool() return complianceRequired;

      public Date getJobDate() return jobDate;


      What have I missed?
      Thanks







      java






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 16 '18 at 11:49









      Hamish KendallHamish Kendall

      107




      107






















          1 Answer
          1






          active

          oldest

          votes


















          0














          You pass "complianceReq" to the PropertyValueFactory but you have no getComplianceReq() method in your JobSummaryData class. The PropertyValueFactory class requires the getters and setters follow Java Bean naming conventions.



          Change either the cell value factory to:



          colCompliance.setCellValueFactory(new PropertyValueFactory<>("complianceRequired"));


          Or change the getter in your JobSummaryData class to:



          public String getComplianceReq() return complianceReq; 


          If you ever implement JavaFX properties for your JobSummaryData class, don't forget to add the correctly named property-getter—complianceRequiredProperty() or complianceReqProperty(), depending.






          share|improve this answer

























            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53337291%2fjava-tableview-not-populating-only-one-column%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            You pass "complianceReq" to the PropertyValueFactory but you have no getComplianceReq() method in your JobSummaryData class. The PropertyValueFactory class requires the getters and setters follow Java Bean naming conventions.



            Change either the cell value factory to:



            colCompliance.setCellValueFactory(new PropertyValueFactory<>("complianceRequired"));


            Or change the getter in your JobSummaryData class to:



            public String getComplianceReq() return complianceReq; 


            If you ever implement JavaFX properties for your JobSummaryData class, don't forget to add the correctly named property-getter—complianceRequiredProperty() or complianceReqProperty(), depending.






            share|improve this answer





























              0














              You pass "complianceReq" to the PropertyValueFactory but you have no getComplianceReq() method in your JobSummaryData class. The PropertyValueFactory class requires the getters and setters follow Java Bean naming conventions.



              Change either the cell value factory to:



              colCompliance.setCellValueFactory(new PropertyValueFactory<>("complianceRequired"));


              Or change the getter in your JobSummaryData class to:



              public String getComplianceReq() return complianceReq; 


              If you ever implement JavaFX properties for your JobSummaryData class, don't forget to add the correctly named property-getter—complianceRequiredProperty() or complianceReqProperty(), depending.






              share|improve this answer



























                0












                0








                0







                You pass "complianceReq" to the PropertyValueFactory but you have no getComplianceReq() method in your JobSummaryData class. The PropertyValueFactory class requires the getters and setters follow Java Bean naming conventions.



                Change either the cell value factory to:



                colCompliance.setCellValueFactory(new PropertyValueFactory<>("complianceRequired"));


                Or change the getter in your JobSummaryData class to:



                public String getComplianceReq() return complianceReq; 


                If you ever implement JavaFX properties for your JobSummaryData class, don't forget to add the correctly named property-getter—complianceRequiredProperty() or complianceReqProperty(), depending.






                share|improve this answer















                You pass "complianceReq" to the PropertyValueFactory but you have no getComplianceReq() method in your JobSummaryData class. The PropertyValueFactory class requires the getters and setters follow Java Bean naming conventions.



                Change either the cell value factory to:



                colCompliance.setCellValueFactory(new PropertyValueFactory<>("complianceRequired"));


                Or change the getter in your JobSummaryData class to:



                public String getComplianceReq() return complianceReq; 


                If you ever implement JavaFX properties for your JobSummaryData class, don't forget to add the correctly named property-getter—complianceRequiredProperty() or complianceReqProperty(), depending.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Nov 16 '18 at 19:30

























                answered Nov 16 '18 at 12:42









                SlawSlaw

                9,68531235




                9,68531235





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53337291%2fjava-tableview-not-populating-only-one-column%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Top Tejano songwriter Luis Silva dead of heart attack at 64

                    ReactJS Fetched API data displays live - need Data displayed static

                    Evgeni Malkin