Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-3749

columnClasses not working correctly in DataTable Component

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.18, 2.1.12
    • 2.0.19, 2.1.13
    • JSR-314
    • None

    Description

      Sample JSF page:

      <h:outputStylesheet library="css" name="table-style.css" />
      <h:dataTable value="#

      {dataTableBean.sampleList}

      " var="o"
      styleClass="order-table"
      headerClass="order-table-header"
      rowClasses="order-table-odd-row,order-table-even-row"
      columnClasses="col0,col1,col2,col3"
      >
      <f:param id="testParam" value="TESTER" />

      <h:column>
      <f:facet name="header">Column1</f:facet>
      #

      {o.str1}

      </h:column>

      <h:column>
      <f:facet name="header">Column2</f:facet>
      #

      {o.str2}

      </h:column>

      <h:column>
      <f:facet name="header">Column3</f:facet>
      #

      {o.str3}

      </h:column>

      <h:column>
      <f:facet name="header">Column4</f:facet>
      #

      {o.str4}

      </h:column>
      </h:dataTable>

      Sample CSS:
      .order-table{
      border-collapse:collapse;
      }

      .order-table-header{
      text-align:center;
      }

      .order-table-odd-row{
      text-align:center;
      }

      .order-table-even-row{
      text-align:center;
      }

      .col0{
      text-align:center;
      }

      .col1{
      text-align:center;
      }

      .col2{
      text-align:center;
      }

      .col3{
      text-align:center;
      }

      Problem description:

      The rendered output of one of the rows of the above page is the following:

      <tr class="order-table-odd-row"><td class="col1">
      test1
      </td><td class="col2">
      test2
      </td><td class="col3">
      test3
      </td><td class="">
      test4
      </td></tr>

      As you can see the last column has no definition of a columnClass ( class="" ). The same page works if we remove the <f:param/> definition from within the
      <h:dataTable/>. If the f:param tag is removed then I see that all of the columns have a defined class as expected ( the number of columns is less than or equal to the
      defined columnClasses so each of the columns should have a class defined.

      Attachments

        1. MyFaces-3749.patch
          3 kB
          Paul Nicolucci
        2. MyFaces-3749-Patch2.patch
          3 kB
          Paul Nicolucci

        Activity

          People

            lu4242 Leonardo Uribe
            paul.nicolucci Paul Nicolucci
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: