<!-- bootstrap table -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.14.2/bootstrap-table.min.css" integrity="sha256-pxMFc5RPsIXrouYF4MXPEQe5TtTv+LVM0pyiWDWHyFY=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.14.2/bootstrap-table.min.js" integrity="sha256-/xffGMKcg3EPCNGt1lHxJ9dN/eMlD8noOvtptABHRls=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.14.2/locale/bootstrap-table-en-US.js" integrity="sha256-ZomXWkfnSOEEVIhZx1mhDb5zZACnoCxu8MYuSFd5/lA=" crossorigin="anonymous"></script>

<script language="JavaScript">
    function dataValueInt(a, b) {
        /* sort based on integer value in data-value attribute */
        var a_myRegexp = /(?:^|\s)data-value=\"(.*?)\"(?:\s|$)/g;
        var b_myRegexp = /(?:^|\s)data-value=\"(.*?)\"(?:\s|$)/g;
        var a = parseInt(a_myRegexp.exec(a)[1]);
        var b = parseInt(b_myRegexp.exec(b)[1]);
        if (a < b) return -1;
        if (a > b) return 1;
        return 0;
    }

    function dataValueFloat(a, b) {
        /* sort based on integer value in data-value attribute */
        var a_myRegexp = /(?:^|\s)data-value=\"(.*?)\"/g;
        var b_myRegexp = /(?:^|\s)data-value=\"(.*?)\"/g;
        var a = parseFloat(a_myRegexp.exec(a)[1]);
        var b = parseFloat(b_myRegexp.exec(b)[1]);
        if (a < b) return -1;
        if (a > b) return 1;
        return 0;
    }

</script>
