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

columnClasses not working correctly in DataTable Component

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.18, 2.1.12
    • Fix Version/s: 2.0.19, 2.1.13
    • Component/s: JSR-314
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: