Edit in JSFiddle

// Visualize: Change crosstab rows order  (5.6)

// This Fiddle uses a non-standard demo report:
//    /public/viz/crosstab

visualize({
    auth: {
        name: "superuser",
        password: "superuser"
    }
}, function (v) {
    var row,
    report = v.report({
        resource: "/public/viz/crosstab",
        container: "#container",
        events: {
            reportCompleted: function (status, error) {
                if (status === "ready") {
                    row = _.filter(report.data().components, function (component) {
                        return component.componentType == "crosstabRowGroup";
                    })[0];
                }
            }
        },
        error: function (err) {
            alert(err);
        }
    });

    $("#sortAsc").on("click", function () {
        report.updateComponent(row.id, {
            sort: {
                order: "asc"
            }
        }).fail(function (e) {
            alert(e);
        });
    });

    $("#sortDesc").on("click", function () {
        report.updateComponent(row.id, {
            sort: {
                order: "desc"
            }
        }).fail(function (e) {
            alert(e);
        });
    });

    $("#sortNone").on("click", function () {
        report.updateComponent(row.id, {
            sort: {}
        }).fail(function (e) {
            alert(e);
        });
    });
});
<!-- Visualize: Change crosstab rows order  (5.6)
  -->

<script type='text/javascript' src="http://code.jquery.com/jquery-2.1.0.js"></script>
<script type='text/javascript' src="http://underscorejs.org/underscore-min.js"></script>
<script type='text/javascript' src="http://localhost:8080/jasperserver-pro/client/visualize.js"></script>
<button id="sortAsc">Sort rows ASC</button>
<button id="sortDesc">Sort rows DESC</button>
<button id="sortNone">Sort rows NONE</button>
<div id="container"></div>