0
Hello, Community!
I have tested some jQuery plugins to generate table that support CRUD. Here’s my review of them.
Excellent plugin, but has annoying limitations like horizontal scrolling, which does not exist. If you have a table with many fields, the div where the table is created adds a scrolling-x, but the table header and footer scroll together with the body. It has an auto filter plugin, but not with select boxes. The grid is generated through JSON. This is great, because the addition and inclusion form fields on the server use the returned fields to generate each input, select or textarea. As it uses jQuery UI, we only need to pass the data types of each field and the formatting is automatic. It is not compatible with Bootstrap. Some points of conflict are modals and forms, which is serious. It is possible to handle actions independently. For example, I needed to include all fields in a BD, but I could only change some once included. The plugin allows you to do this and does not disable fields that cannot be edited, preserving them in the include form.
It has great potential, but the documentation is horrible, very bad. It is compatible with Bootstrap and jQuery UI (native). It allows actions to be handled independently as well, but it is a bit more complicated, because of the positioning of each item (first has to be the update, then the Insert, then the delete, etc., and then you change the order by carelessness),s and at least the documentation helped. You can do everything perfectly, but you don’t have the auto filter. On the server side, all you have to do is generate the JSON and you’re done. Pagination and sorting of results the client side takes care. I liked it a lot, but since it’s not intuitive and the documentation doesn’t help, it’s almost impossible to treat CRUD actions separately. Everything involves functions, so your code becomes giant for a table... I mean, too big for anything, if you need something complete.
Very good too, but everything is server side practically and it is complicated to treat Insert and update separately. It has an auto filter mode, but it surrounds the server side. I don’t like that. The codes to generate the full table are large and each step involves a query practically, so it is not scalable. It has a lot of server side work, but the result is good. Compatible with Bootstrap and jQuery UI.
Excellent plugin too. I think it should be the best to some extent. It allows inline editing and treats Insert and update separately, but that’s because you don’t have a "native" Insert form, you have to generate it yourself. This is the only problem: the data inclusion form. Besides, everything on the client side, even the export pro Excel can be done on the client side, PDF and image as well. You can make an auto filter by manually including the fields Forms that will be searched in the table, but the search is on the client side. Almost perfect!
NOW I CRY
I need a plugin that manages the table in an easy way and the forms as well, but that allows the independent treatment of update and Insert. I NEED to include auto filters and subtotal and sum. Does anyone know if this miracle exists? Or how I can use these plugins to generate a full CRUD, but with the specifications I passed?
Eduardo, your question is very open. But let me give you a hint: look at the grids that you most like - a matter of taste - and work to make this grid do what it needs. And when you have a difficulty on time, put here that we help you. PS: I like the Datatables, very flexible, level, has much feature only client-side, auto-filter, paging, editing within the grid, etc.
– Thiago Lunardi
How can I restrict this question? It is that Datatables, despite having a lot of resources, everything that is done by the user has to be treated on the server side. Or am I wrong in this? And I sincerely hope it’s wrong, because I need these resources and apparently I haven’t found them. Thank you, sir!!!
– StillBuggin
On the website of examples from Datatable all examples are client-side, except for the server-side category.
– Thiago Lunardi