Topic: Datatable - sorting a link
carlivs priority asked 1 year ago
Hi, the sorting of a column doesn't work correctly when creating a link via the 'map' mechanism.
I would expect the 'Title' column to sort alphabetically but instead it sorts on the length of the string?
const instance = new mdb.Datatable(document.getElementById('datatable'), {
columns: [
{ label: 'Title', field: 'title' }
],
rows: [
@Html.Raw(Model)
].map((row) => {
return {
...row,
title: `<a href="${row.detailUrl}" target="_blank">${row.title}<a/>`
};
})
}, { sortField: 'title', sortOrder: 'asc' });
FREE CONSULTATION
Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.
Status
Resolved
Specification of the issue
- ForumUser: Priority
- Premium support: Yes
- Technology: MDB Standard
- MDB Version: MDB5 6.3.0
- Device: Desktop
- Browser: Firefox
- OS: Microsoft Windows 11
- Provided sample code: No
- Provided link: No
Grzegorz Bujański staff commented 1 year ago
Can you send a snippet with an example? If I understand correctly, this is the case: https://mdbootstrap.com/snippets/standard/grzegorz-bujanski/5260962#js-tab-view but everything seems to be working fine. Have I missed something?
carlivs priority commented 1 year ago
Hi Grzegorz Seems the sorting gets messed up when you add relative links with id's: https://mdbootstrap.com/snippets/standard/kephas/5263589#js-tab-view
Grzegorz Bujański staff commented 1 year ago
Thanks for reporting. we will fix it as soon as possible
Kamila Pieńkowska staff commented 1 year ago
Links were sorted not by length but as a string with tags and attributes. To work around that you can add data attribute before href. Snippet here:
https://mdbootstrap.com/snippets/standard/kpienkowska/5277359
carlivs priority commented 1 year ago
Thank you very much. That will do the trick :)