I want to overwrite a function of Primefaces datatable component. According to this question: How do I find and/or override JavaScript in Primefaces component based on widgetVar? it is possible by using PrimeFaces.widget.DataTable.prototype.
. But I want to override this function for one datatable only, not for all.
This does not work:
<p:dataTable widgetVar="myTable" ...>
</p:dataTable>
....
<script type="text/javascript">
$(document).ready(function(){
if (PF('myTable') !== undefined) {
PF('myTable').jq.datatable({
showCellEditor: function (c) {
console.log('my function');
}
});
}
});
</script>
Is this how it is supposed to be done or am I completely wrong?
Tested with one of my tables:
PF('myTable').showCellEditor = function() {
console.log('my function')
}
Don't forget to call the generic implementation if you need to:
PF('myTable').showCellEditor = function() {
console.log('my function')
// call the generic implementation:
PrimeFaces.widget.DataTable.prototype.showCellEditor.call(this);
}
See also:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With