I use a JSF 2.2, a Primefaces 6.0 and a CDI. I've got a `datatable` which has implemented lazy loading (the `datatable` downloads the data from the database). Each column has got a filter field. 

One of the column has to have `readonly` filter field (I save a value for this filter in some variable before displaying the `datatable`). So, as I wrote, this filter field should be `readonly` (non-editable) and the filter should take the value from this field into filtering. **How can I achieve this feature?**

I tried to add the `inputtext` component and set the `readonly` attribute:

```
<p:dataTable id="dataTableOfDataStore" var="obj" widgetVar="dataTableOfDataStoreVar" 
            value="#{formVisualizationController.dataTableLazy}"             
            lazy="true"
            filteredValue="#{formVisualizationController.filteredDataTable}" 
            filterDelay="2000"

            <!-- other attributes -->                       
            >

    <!-- other columns -->

    <p:column headerText="Source IP" sortBy="#{obj.sip}"
            filterBy="#{obj.sip}" filterMatchMode="contains">
        <f:facet name="filter">
            <p:inputText readonly="true" onchange="PF('dataTableOfDataStoreVar').filter()"
             value="#{formVisualizationController.selectedSourceIPFieldOfFiltr.ip}"
            style="width: 100%; background-color: #0088cc; color: #ffffff;"/>
        </f:facet>          
        <h:outputText value="#{obj.sip}" />     
    </p:column> 

    <!-- other columns -->

</p:dataTable>

```

Unfortunately it doesn't work. When I delete the `readonly` attribute, it works, but then the filter field is editable as well.

Of course, I can achieve this by manually pass on this value to the database query and then delete the filter from the column and keep the `inputtext` component with the value (and with `readonly` attribute), but maybe you know some different way to achieve this.