Author Topic: Sorting not happening correctly  (Read 3253 times)

Ajay

  • Pro Ultimate
  • Newbie
  • *
  • Posts: 31
    • View Profile
Sorting not happening correctly
« on: May 19, 2016, 07:41:15 pm »
Scenario:
In Search screen,enter search criteria and press "Search" button.
search results are sorted by column "Revelence" in descending order.
I clicked on another column("Date") and data got sorted accordingly.Now in search results screen,i hit back to search criteria screen and clicked on search button.
The search results are returned with previous result sort order "Date" instead of default sort order "Relevence" column.
Can some one suggest how can I make the search results sort by "Relevence" column everytime i click on search button.

Code:

 var columnModel = [{
                                       title: nmc.platform.strings.LogStartDate, dataIndx: "DateLogStart", editable: false, width: 150, align: "left",
                                       render: function (ui) {
                                           var rowData = ui.rowData,
                                               dataIndx = ui.dataIndx,
                                               cellData = rowData[dataIndx];

                                           if (typeof cellData === "undefined")
                                               return "<span ></span>";
                                           else {
                                               var startDateTime = new Date(parseInt(cellData.substring(6, cellData.length - 2)));
                                               return "<span >" + NMCApp.toLocalDateTime(startDateTime,false) + "</span>";
                                           }
                                       }
                                   },
                                  {
                                       title: nmc.platform.strings.FileName, dataIndx: "OriginalFilename", width: 200, align: "left",
                                       dataType: function (val1, val2) {
                                           return NMCApp.stringSort(val1, val2);
                                       }
                                   },

                                   {
                                       title: nmc.platform.strings.ProductName, dataIndx: "ProductName", width: 200, align: "left",
                                       dataType: function (val1, val2) {
                                           return NMCApp.stringSort(val1, val2);
                                       }
                                   },
                                   {
                                      title: nmc.platform.strings.Relevance, dataIndx: "Relevence", width: 100, align: "left", hidden: false
                                   },
                                   {
                                       title: nmc.platform.strings.TaskID, dataIndx: "TaskID", width: 200, align: "left", hidden: true,

                                       dataType: function (val1, val2) {
                                           return NMCApp.stringSort(val1, val2);
                                       }
                                   },
                                   { title: 'LogGuid', dataIndx: 'LogGuid', hidden: true },
                                   
                            ];

                    serverLogsGrid.pqGrid({
                        width: NMCApp.getSearchGridWidth(),
                        height: NMCApp.getSearchGridHeight(),
                        editable: false,
                        showTop: false,
                        showBottom: false,
                        hoverMode: 'row',
                        selectionModel: { type: 'row', mode: 'block' },
                        numberCell: false,
                        roundCorners: false,
                        wrap: false,
                        colModel: columnModel,
                        virtualY: true,
                        virtualX: true,
                        dataModel: {

                            //sortIndx: "Relevence",
                            //sortDir: "down",
                            data: []
                        },
                        sortModel: {
                            cancel: false,
                            type: "local",
                            sorter: [{ dataIndx: "Relevence", dir: "down" }]
                        },
});

function searchLogsAjax() {
            $.ajax({
                type: 'GET',
                url: searchUrl + '&skip=' + startIndex,
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                processdata: false,
                cache: false,

                success: function (data, textStatus, request) {
                    for (var i = 0; i < data.length; i++) {
                        searchedSvrLogs.push(data);
                    }
                    if (data.length == NMCApp.getMaxSearchNumber() && NMCApp.isSearchCancelled() == false) {
                        serverLogsGrid.pqGrid("option", "dataModel.data", searchedSvrLogs);
                       
                        serverLogsGrid.pqGrid("option", "dataModel.sortIndx", 5);
                        serverLogsGrid.pqGrid("refreshDataAndView");
                        searchServerLogsViewModel.numberOfServerLogs(searchedSvrLogs.length);
                        startIndex = startIndex + NMCApp.getMaxSearchNumber();
                        searchServerLogsAjax();
                    }
                    else {

                        var colM = serverLogsGrid.pqGrid("option", "colModel");
                                               
                        if (searchServerLogsViewModel.showSearchCriteriaTaskId()){

                            for (var i = 0; i < colM.length; i++) {
                                if (colM.dataIndx == "TaskID") {
                                    colM.hidden = false;
                                    break;
                                }
                            }
                        }
                        else {
                            for (var i = 0; i < colM.length; i++) {
                                if (colM.dataIndx == "TaskID") {
                                    colM.hidden = true;
                                    break;
                                }
                            }
                        }

                        serverLogsGrid.pqGrid("option", "colModel", colM);

                        serverLogsGrid.pqGrid("option", "dataModel.data", searchedSvrLogs);
                        serverLogsGrid.pqGrid("option", "dataModel.sortIndx", 5);
                        //serverLogsGrid.pqGrid("refreshView");
                        serverLogsGrid.pqGrid("refreshDataAndView");
                       

                        if (searchedSvrLogs.length > 0)
                            serverLogsGrid.pqGrid("setSelection", { rowIndx: 0 });

                        searchServerLogsViewModel.numberOfServerLogs(searchedSvrLogs.length);

                        if (NMCApp.isSearchCancelled() == false) {
                            NMCApp.hideLoadingWindow();
                            searchServerLogsViewModel.numberOfServerLogs(searchedSvrLogs.length);
                        }
                        else
                            searchServerLogsViewModel.numberOfServerLogs(searchedSvrLogs.length + ' (cancelled)');
                    }
                },
                error: function (request, status, error) {
                    NMCApp.hideLoadingWindow();
                    NMCApp.handleNMCException(request.responseText);
                }

            });
        }

paramvir

  • Administrator
  • Hero Member
  • *****
  • Posts: 5884
    • View Profile
Re: Sorting not happening correctly
« Reply #1 on: May 19, 2016, 09:40:02 pm »
[ Only Pro members may read this post. ]

Ajay

  • Pro Ultimate
  • Newbie
  • *
  • Posts: 31
    • View Profile
Re: Sorting not happening correctly
« Reply #2 on: May 20, 2016, 08:51:03 am »
Thanks it worked